Улей с использованием агрегации сбора

Я хотел удалить повторяющиеся значения из таблицы улья, поэтому я использую этот запрос

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', чтобы получить ключи от карты.

Другие вопросы по тегам