Hadoop/Hive - 将单行拆分为多行
Posted
技术标签:
【中文标题】Hadoop/Hive - 将单行拆分为多行【英文标题】:Hadoop/Hive - Split a single row into multiple rows 【发布时间】:2012-08-28 13:27:30 【问题描述】:我正在尝试找到一种方法,根据分隔列将 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 找到了一些路标,但是我无法提供足够的细节来指出解决方案的方向,而且我不知道如何设置转换函数以返回会拆分行的对象。
【问题讨论】:
【参考方案1】:试试这个措辞
SELECT ID1, Sub
FROM tableName lateral view explode(split(Subs,',')) Subs AS Sub
【讨论】:
【参考方案2】:SELECT ID1, new_Subs_clmn
FROM tableName lateral view explode(split(Subs,',')) Subs AS new_Sub_clmn;
我最初对使用的名称感到困惑,分享上述查询认为这会有所帮助。
【讨论】:
以上是关于Hadoop/Hive - 将单行拆分为多行的主要内容,如果未能解决你的问题,请参考以下文章