HIVE 行轉列以及列轉行

列轉行

語法:
虛擬表
lateral view explode(split(tag,’,’)) 表別名 as 列別名

表test
列名: id tag
在這裏插入圖片描述

select id,tag_new from test lateral view explode(split(tag,',')) nums as tag_new

在這裏插入圖片描述

行轉列

使用函數:concat_ws(’,’,collect_set(column))
說明:collect_list 不去重,collect_set 去重。 column 的數據類型要求是 string

eg:如表:t_column_to_row ,根據id,對tag_new 進行合併
在這裏插入圖片描述
select id,

concat_ws(’,’,collect_list(tag_new)) as tag_col

from t_column_to_row

group by id;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章