【问题标题】:Load Data to Hive array column将数据加载到 Hive 数组列
【发布时间】:2015-03-25 01:29:00
【问题描述】:

我有两个 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 中做同样的事情。

谢谢

【问题讨论】:

    标签: arrays hadoop hive


    【解决方案1】:
    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 函数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-20
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多