Таблица кустов:
create table T (i int, s string);
insert into T values
(1, "a1&b2"),
(1, "b2&c3"),
(2, "c1&d2"),
(2, "c1");
Столбец s содержит значения, разделенные &
Желаемый вывод должен группироваться по 1-му столбцу и объединять столбец s, но иметь только одно уникальное значение подстроки ( разделены символом &):
i grouped_s
-- -------------
1 a1&b2&c3
2 c1&d2
Вот моя попытка:
SELECT i,
concat_ws('&',
collect_set(
split(concat_ws('&' , collect_set(s)), "&" )
)
)
as grouped_s
FROM T group by i;
Я получил это:
FAILED: SemanticException [Error 10128]: Line 6:24 Not yet supported place for UDAF 'collect_set'
Также я хотел бы сделать это без использования вложенный SQL.