array_union:数组并集去重
速查结论
array_union(array1, array2) 是 Spark SQL 中用于计算两个数组的并集并自动去重的函数。
语法
array_union(array1, array2)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| array1 | ARRAY | 第一个输入数组 |
| array2 | ARRAY | 第二个输入数组 |
返回值
返回一个数组,包含 array1 和 array2 并集中的所有元素,且不包含重复项。元素的顺序不保证与输入一致。
示例
> SELECT array_union(array(1, 2, 3), array(1, 3, 5));
[1,2,3,5]
常见报错与避坑指南
- null 值处理:如果任一输入数组为 null,函数将返回 null。使用
COALESCE可以在输入为 null 时提供默认空数组。 - 元素顺序不保证:输出数组中元素的顺序可能与输入数组不同,不要依赖输出数组的顺序。
- 去重基于元素相等性:去重依赖于元素的相等比较,对于复杂数据类型(如 STRUCT),请确保理解其比较语义。
Since: 2.4.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
