如何从包含逗号分隔值的行中删除重复项?

pgccezyw  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(367)

我一直在把一些r代码转换成hql(hive)。我被什么东西困住了。我有一个col“values”,这基本上是由逗号分隔的一些其他col的串联。 e.g values a,b,c,a,a a,a,c,c,c d,c,e,f,e I want to something like this: Values a,b,c,, a,c,,, d,c,e,f, 我在 hive 里怎么做?救命啊!注意:这是一列。

z9gpfhce

z9gpfhce1#

如果在最后一个表中不需要空字符串和额外的逗号,那么可以按逗号拆分字符串,分解结果数组,然后收集集合,例如。

with table1 as (
  select row_number() over () as id, values
    from initial_table
),
table2 as (
  select id, value
    from table1
  lateral view explode(split(values, ',')) vals as value
),
table3 as (
  select id, collect_set(value) as values
    from table2
   group by id
)
select concat_ws(values, ',') as values
  from table3

相关问题