将行转置为Hive表上的列

时间:2019-11-06 21:23:17

标签: hive transpose impala group-concat denormalization

我遇到一种情况,我需要联接多个表(table1,table2,table3)并拉一些字段,例如

  1. 计数(表2上的ID)

  2. Concat(表3上的姓名,地址,电话)

表1和表2具有一对多关系。

Table2和Table3具有一对一的关系

表1是驱动程序表

表1看起来像

CaseID, BAL, SAL
123,   10K,  15K

TABLE2看起来像

CASEID  ID  branch

123     1   cse

123     2   ece

123     3   xyz

123     4   fgh

表3看起来像

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. 

我正在IMPALA中使用group_contact函数派生Full_Details,但是group_contact函数在Hive中不起作用,而Hive中的collect_list函数在IMPALA中不起作用。我需要一种在HIVE和IMPALA中都可以使用的方法。

0 个答案:

没有答案