hive之實現列轉行

樣例:
select * from tab1 limit 10;
結果:
id  num
a  1
a  2
a  3
b  4
b  3
·····
現在想實現把id一樣的數據在一條數據中展現。
結果示例:
a  1  2  3
b  4  3
 
實現方案有多種,在Oracle中LISTAGG函數可以滿足,excel中轉置可以實現,
數據量不大的話,sql寫的複雜些亦可以實現。
在hive中可以參照以下sql來實現:
select max(a.id),
       concat_ws('\t',collect_set(a.num)) as result
from tab1 a
結果:
a  1  2  3
b  4  3
 
僅供參考!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章