named_struct:创建命名结构体
速查结论
named_struct(name1, val1, name2, val2, ...) 是 Spark SQL 中用于使用给定的字段名称和值创建结构体的函数。
语法
named_struct(name1, val1, name2, val2, ...)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| name1, name2, ... | STRING | 结构体字段的名称,必须为字符串常量 |
| val1, val2, ... | ANY | 对应字段的值,可以是任意支持的数据类型 |
示例
> SELECT named_struct("a", 1, "b", 2, "c", 3);
{"a":1,"b":2,"c":3}
常见报错与避坑指南
- 字段名称必须是字符串常量,不能是表达式或列引用,否则会抛出
AnalysisException。 - 参数必须成对出现(名-值交替),奇数个参数会导致语法错误。
- 与
struct函数不同,named_struct允许自定义字段名称;struct会自动生成col1、col2等默认列名。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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