列分数的值由逗号分隔。每个用户标识至少有一个分数,每个用户标识的分数没有上限。
+--------+---------+
| 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不支持爆炸。
有没有其他方法可以在黑斑羚中实现它?