Hive Query array как поле - PullRequest
       10

Hive Query array как поле

0 голосов
/ 18 мая 2018

У меня есть две таблицы Hive:

Таблица клиентов:

id,name,salary 
1 ,John, 10000
2 ,Melissa, 5000

Таблица счетов:

id,account_number,client_id
1 ,00920202, 1
2 ,00920203, 1
3 ,00920204, 1
4 ,00920205, 2
5 ,00920206, 2

Мне нужен запрос Hive, который возвращает эти результаты:

id,name,salary,accounts
1 ,John, 10000, {00920202, 00920203, 00920204}
2 ,Melissa, 5000, {00920205, 00920206}

Заранее спасибо

1 Ответ

0 голосов
/ 18 мая 2018

Используйте collect_list, если вы уверены, что номера счетов уникальны.Еще используйте collect_set, что устраняет дубликаты.

select c.id,c.name,c.salary,collect_list(a.account_number) as all_accounts
from client c
join account a on a.client_id=c.id
group by c.id,c.name,c.salary
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...