У меня есть ситуация, когда мне нужно объединить несколько таблиц (table1, table2, table3) и выбрать несколько полей, таких как
Count (ID для table2)
Concat (имя, адрес, телефон в таблице3)
В таблице 1 и таблице 2 есть отношение один ко многим.
В таблице 2 и таблице 3 есть один кОдно отношение
table 1 - это таблица драйверов
Table1 выглядит как
CaseID, BAL, SAL
123, 10K, 15K
TABLE2 выглядит как
CASEID ID branch
123 1 cse
123 2 ece
123 3 xyz
123 4 fgh
Table3 выглядит как
ID,name,phone,address
1, car,709809,add1
2, plane, 6780090, addr2
3, cycle,576483,addr3
4,bike,65680,addr4
вывод, который мне нужен,
CaseID Count (ID) Full_Details
123 4 1,car,709809,add1|2, plane, 6780090, addr2|3, cycle,576483,addr3|4,bike,65680,addr4.
Я использую функцию group_contact в IMPALA для получения Full_Details, но функция group_contact не работает в HiveФункция AND collect_list в Hive, которая не работает в IMPALA. Мне нужен метод, где он работает как в HIVE, так и в IMPALA.