将数据加载到 Hive 数组列
Load Data to Hive array column
我有两个 Hive table,以及它们的列
,如下所示
Tbl_Customer
Id
Name
Tbl_Cntct
Id
Phone
一个 Id 可以有很多 phone 个数字,所以我有一个 table
Tbl_All
Id
Name
Phn_List ARRAY
我的问题是如何将数据从 Tbl_Custome 和 Tbl_Cntct 加载到 Tbl_All。
我可以在 PIG 中完成,但想在 Hive 中完成。
谢谢
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
函数
我有两个 Hive table,以及它们的列
,如下所示Tbl_Customer
Id
Name
Tbl_Cntct
Id
Phone
一个 Id 可以有很多 phone 个数字,所以我有一个 table
Tbl_All
Id
Name
Phn_List ARRAY
我的问题是如何将数据从 Tbl_Custome 和 Tbl_Cntct 加载到 Tbl_All。 我可以在 PIG 中完成,但想在 Hive 中完成。
谢谢
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
函数