2015-03-25 88 views
0

我有兩個蜂巢表,如下圖所示,與它們的列沿數據加載到配置單元陣列列

Tbl_Customer 
Id 
Name 

Tbl_Cntct 
Id 
Phone 

一個編號可以有多個電話號碼,所以我有一個表

Tbl_All 
Id 
Name 
Phn_List ARRAY 

我的問題是關於如何將來自Tbl_Custome和Tbl_Cntct的數據加載到Tbl_All中。 我可以在PIG中做到這一點,但想在Hive中做同樣的事情。

感謝

回答

2
Insert overwrite table Tbl_All 
select cus.id,cus.name,collect_set(ctc.phone) 
from Tbl_Customer cus join Tbl_Cntct ctc on cus.id = ctc.id 
group by cus.id,cus.name 

collect_set UDAF是一個函數收集列與你所要的duplicates.If陣列,以保持所有的值複製包括那些使用collect_list功能