2016-01-21 1 views
0

Мне нужен один запрос на улей, который объединяет те же строки EAN в одну запись в таблице на основе приоритета, который является другой таблицей.Hadoop Hive query для объединения строк в одну строку

стол: продукты enter image description here

Как показано на картинке, я имею различные продукты из различных источников (SourceId) и я хочу только одну строки путем объединения всех источников данных на основе приоритета ниже. Если источник приоритета «1» не предоставляет никакой информации о поле, эта информация о поле будет взята из источника приоритета «2».

Таблица: приоритет

node_id Source_id Priority 
1  62   1 
1  303   2 
1  202   3 

Я ожидаю результатов, как показано ниже.

enter image description here

ответ

1

вы можете использовать собрать UDF, чтобы собрать все другие поля, основанные на одном поле.

или вы можете использовать некоторые вложенные массивы или struct для получения данных в одну строку, если вы не хотите потерять какие-либо данные.

+0

Спасибо Ankush ... Я использовал collect_list и brickhouse udf array_index, чтобы получить полное решение. –

Смежные вопросы