是否有方法从配置单元中逗号分隔的字符串值中提取唯一值?

yqyhoc1h  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(306)

我想从配置单元表中以逗号分隔的字符串值中提取唯一值。
事实上:

select * from data;
ID  ITEMS
123  "ABB","REG","REG", "ABB","XYZ"

预期结果:

select ===some logic=== from data;

ID  ITEMS
123  "ABB","REG","XYZ"

请建议。

vc9ivgsu

vc9ivgsu1#

explode 将csv值按每个值分成一行 split 键入csv字符串并使用 collect_set 在拆分值上删除重复项。结果就是 array 要获得csv值,请使用 concat_ws .

select id,items,concat_ws(',',collect_set(split_item)) as result
from data
lateral view explode(split(items,',')) tbl as split_item
group by id,items

相关问题