我有两个Hive表,如下所示,以及它们的列
Tbl_Customer
Id
Name
Tbl_Cntct
Id
Phone
一个Id可以有很多电话号码,所以我有一张桌子
Tbl_All
Id
Name
Phn_List ARRAY
我的问题是如何将数据从Tbl_Custome和Tbl_Cntct加载到Tbl_All。 我可以在PIG中做到这一点,但想在Hive中做同样的事情。
由于
答案 0 :(得分:3)
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是一个函数,将列收集到一个没有重复的数组中。如果要保留所有值包含重复的值,请使用collect_list
函数