Hive行列转换

Hive行列转换,第1张

Hive行列转换

lateral view explode 列转行

lateral view 和 explode 将 hive 一系列中复杂的 array 或者 map 结构拆分成多行数据,在此基础上可以对拆分后的数据进行聚合。

思路:

    先用 split 函数将 C 列分割成数组;

    再使用 lateral view 结合 explode 炸裂。

select A, B, C_new from table1
lateral view explode(split(C,",")) temp_table AS C_new;

concat_ws 行转列

concat(str1, str2):返回输入字符串连接后的结果,支持任意个输入字符串。

concat_ws(separator,str1,str2,...):它是一个特殊形式 concat,第一个参数为分隔符,如果分隔符是 NULL,返回值也将为 NILL,这个函数会跳过分隔符参数后的任何 NULL 和空字符串,分隔符被加到被连接的字符串之间。

collect_set(col):函数只接受基本数据类型,它的主要将某字段的值

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5719967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存