map_from_entries:条目数组转映射
速查结论
map_from_entries(arrayOfEntries) 是 Spark SQL 中用于将条目结构体数组转换为一个映射的函数。
语法
map_from_entries(arrayOfEntries)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| arrayOfEntries | ARRAY<STRUCT<key: K, value: V>> | 条目结构体数组,每个结构体包含 key 和 value 两个字段 |
Examples
> SELECT map_from_entries(array(struct(1, 'a'), struct(2, 'b')));
{1:"a",2:"b"}
常见报错与避坑指南
- 条目结构体字段名要求:条目数组中的结构体必须包含
key和value两个字段,字段名不匹配会导致错误。 - 键中不能有 NULL:如果任意条目中的 key 为 NULL,会抛出
Cannot use null as map key错误。 - 与 map_entries 的互补关系:
map_entries将映射转为条目数组,map_from_entries执行反向操作,两者常配合使用实现映射的复杂变换。
Since: 2.4.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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