跳到主要内容

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真题

交流微信二维码

你可能还想看