表的一个字段由逗号分隔的许多值组成, 例如,该字段的记录是:
598423,4803510,599121,98181856,1666529,106317962,4061964,7828860,598752,728067,599809,8799578,1666528,3253720,601990,601235
我想在Hive中的这个字段的每个记录中传播值。 我可以用哪种功能或方法来实现这个目的? 感谢。
答案 0 :(得分:1)
我不完全确定“传播”是什么意思。 如果您想要一个输出表,其每行都有一个值,如:
598423
4803510
599121
然后你可以使用explode(split(data,',')
否则,如果每个输入行只有16个数字,并且您希望每个数字都位于不同的列中,则有两个选项:
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
SELECT split(data,',')[0] as col1, split(data,',')[1] as col2, ...