Как удалить дубликаты из строки, содержащей значения, разделенные запятыми? - PullRequest
0 голосов
/ 20 марта 2019

Я конвертировал некоторый код R в HQL (Hive).Я застрял в чем-то.У меня есть col "значения", и это в основном конкатенация некоторых других 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,

Как мне это сделать в Улей?Помогите!Примечание: это одна цв.Sample/Example

1 Ответ

1 голос
/ 20 марта 2019

Если вам не нужны пустые строки и дополнительные запятые в итоговой таблице, то вы можете разбить строки по запятой, разбить полученный массив и затем собрать набор, например,

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
...