我正在尝试找到一种方法,根据分隔列将Hive中的一行拆分为多行。例如,获取结果集:
ID1 Subs
1 1, 2
2 2, 3
然后回来:
ID1 Subs
1 1
1 2
2 2
2 3
我在http://osdir.com/ml/hive-user-hadoop-apache/2009-09/msg00092.html找到了一些道路标志,但是我没有足够的细节指出我的解决方案,我不知道如何将转换功能设置为返回一个会分割行的对象。
答案 0 :(得分:15)
尝试这个措辞
SELECT ID1, Sub
FROM tableName lateral view explode(split(Subs,',')) Subs AS Sub
答案 1 :(得分:0)
SELECT ID1, new_Subs_clmn
FROM tableName lateral view explode(split(Subs,',')) Subs AS new_Sub_clmn;
最初,我对所使用的名称感到困惑,并在共享上面的查询时认为这会有所帮助。