如何在Hive中连接多个数组列?

时间:2017-05-22 01:12:25

标签: hive hiveql

在Hive表中,我们假设我的数据如下所示: +----+-----------+-----------+ | id | some_ids1 | some_ids2 | +----+-----------+-----------+ | 1 | [2, 3] | [4, 5, 6] | | 2 | [7] | [8, 9] | +----+-----------+-----------+ 我想获得类似的东西: +----+------------------+ | id | concatenated_ids | +----+------------------+ | 1 | [2, 3, 4, 5, 6] | | 2 | [7, 8, 9] | +----+------------------+

在我的实际例子中,内部类型不是基元,因此转换为字符串不起作用。如何在Hive中连接数组列?

1 个答案:

答案 0 :(得分:0)

使用通用UDF传递这两列并将其连接并作为数组返回。

public class ArraySum extends UDF {
  public List<Double> evaluate(List<Double> list1, List<Double> list2) {
    return list1.addAll(list2)
  }
}

希望这有帮助!