struct:创建结构体
速查结论
struct(col1, col2, col3, ...) 是 Spark SQL 中用于使用给定的字段值自动创建结构体(字段名自动生成为 col1, col2, ...) 的函数。
语法
struct(col1, col2, col3, ...)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| col1, col2, ... | ANY | 结构体的字段值,可以是任意支持的数据类型。字段名将自动生成为 col1, col2, col3... |
示例
> SELECT struct(1, 2, 3);
{"col1":1,"col2":2,"col3":3}
常见报错与避坑指南
- 字段名自动生成(col1, col2, col3...),无法自定义。如需自定义字段名,请使用
named_struct函数。 - 至少需要一个参数,无参数调用
struct()会报错。 struct常用于将多列打包为单列,配合to_json或窗口函数进行复杂数据处理。
Since: 1.4.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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