Улей с использованием агрегации сбора
Я хотел удалить повторяющиеся значения из таблицы улья, поэтому я использую этот запрос
INSERT INTO TABLE final_table
select
A,
B,
collect(coalesce(C,0))[0],
collect(coalesce(D,0))[0],
collect(coalesce(E,0))[0],
collect(coalesce(F,0))[0],
collect(coalesce(G,0))[0]
from
temp_table
group by
A,B ;
как A,B
являются первичными ключами.
Но в результате я все еще получаю дубликаты значений. Есть ли проблема с запросом?
1 ответ
Попробуйте использовать UDF 'collect_set', или собрать в карту, и использовать 'map_keys', чтобы получить ключи от карты.