map_from_arrays:数组转映射
速查结论
map_from_arrays(keys, values) 是 Spark SQL 中用于使用给定的键数组和值数组创建一个映射的函数。
语法
map_from_arrays(keys, values)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| keys | ARRAY<K> | 键数组,所有元素不应为 NULL |
| values | ARRAY<V> | 值数组,与键数组一一对应 |
Examples
> SELECT map_from_arrays(array(1.0, 3.0), array('2', '4'));
{1.0:"2",3.0:"4"}
常见报错与避坑指南
- 键数组中有 NULL 的报错:如果键数组包含 NULL 元素,
map_from_arrays会抛出Cannot use null as map key错误。需要提前使用array_distinct或filter处理 NULL。 - 两个数组长度必须相等:如果键数组和值数组的长度不一致,会触发错误。可以使用
size()事先检查两者的长度。
Since: 2.4.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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