impala - 如何将分隔列转换为多行

时间:2018-04-11 10:56:48

标签: sql hive impala

列分数的值由逗号分隔。每个用户标识至少有一个分数,每个用户标识的分数没有上限。

+--------+---------+
| userid | scores  |
+--------+---------+
| u1     | C,B,A   |
| u2     | A       |
| u3     | A,C     |
+--------+---------+

我想通过'select ...'sql

获得结果
+--------+---------+
| userid | score   |
+--------+---------+
| u1     | C       |
| u1     | B       |
| u1     | A       |
| u2     | A       |
| u3     | A       |
| u3     | C       |
+--------+---------+

在蜂巢中,侧视图爆炸(分裂(分数,','))可能会实现这一要求,

select userid, score from my_table lateral view explode(split(scores,',')) scores as score;

然而,impala不支持爆炸。

有没有其他方法可以在黑斑羚中实现它?

0 个答案:

没有答案