列轉行
語法:
虛擬表
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;