跳到主要内容

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 会自动生成 col1col2 等默认列名。

Since: 1.5.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

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

交流微信二维码

你可能还想看