用于合并数组的配置单元聚合函数



我需要在HiveSQL中合并GROUP BY中的数组。表架构如下所示:

key int,
value ARRAY<int>

现在这是我想运行的 SQL:

SELECT key, array_merge(value)
FROM table_above
GROUP BY key

如果此array_merge函数仅保留唯一值,那会更好,但不是必须的。

干杯K

没有

UDAF来执行这种操作。以下查询应该在没有太多开销的情况下产生相同的结果(继续运行一个映射和一个减少操作(删除重复项

select key, collect_set(explodedvalue) from (
  select key, explodedvalue from table_above lateral view explode(value) e as explodedvalue
) t group by key;

这里有一段时间的答案,但以防其他人偶然发现这一点; Brickhouse 的 combine_unique UDF 可能是您正在寻找的(存储库有有关如何开始使用其 UDF 的说明(。

语法与问题中提出的语法相同:

SELECT key, combine_unique(value)
FROM table_above
GROUP BY key

相关内容

  • 没有找到相关文章

最新更新