Hive 如何在配置单元中连接多个数组列?

Hive 如何在配置单元中连接多个数组列?,hive,hiveql,Hive,Hiveql,在配置单元表中,假设有如下数据: +----+-----------+-----------+ |id |一些id 1 |一些id 2| +----+-----------+-----------+ | 1 | [2, 3] | [4, 5, 6] | | 2 | [7] | [8, 9] | +----+-----------+-----------+ 我想获得如下信息: +----+------------------+ |id |连接的id| +----+

在配置单元表中,假设有如下数据:

+----+-----------+-----------+
|id |一些id 1 |一些id 2|
+----+-----------+-----------+
| 1  | [2, 3]    | [4, 5, 6] |
| 2  | [7]       | [8, 9]    |
+----+-----------+-----------+
我想获得如下信息:

+----+------------------+
|id |连接的id|
+----+------------------+
| 1  | [2, 3, 4, 5, 6]  |
| 2  | [7, 8, 9]        |
+----+------------------+


在我的实际示例中,内部类型不是基本类型,因此转换为字符串不起作用。阵列列在配置单元中是如何连接的?

使用通用UDF传递这两个列,并将其连接起来,然后作为阵列返回

public class ArraySum extends UDF {
  public List<Double> evaluate(List<Double> list1, List<Double> list2) {
    return list1.addAll(list2)
  }
}
公共类ArraySum扩展了UDF{
公共列表评估(列表1、列表2){
返回列表1.addAll(列表2)
}
}
希望这有帮助

尝试使用表中的concat_ws(',',一些_ids1,一些_ids2)。这将连接数组和字符串。但最终值将是字符串值