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