跳到主要内容

json_tuple:批量提取JSON字段

速查结论

json_tuple(jsonStr, p1, p2, ..., pn) 是 Spark SQL 中用于从 JSON 字符串中一次性提取多个字段值并返回为元组的函数。

语法

json_tuple(jsonStr, p1, p2, ..., pn)

参数说明

参数类型说明
jsonStrSTRING有效的 JSON 格式字符串
p1, p2, ..., pnSTRING要提取的字段名称(键名),支持传入多个。所有输入参数和输出列类型均为 STRING

示例

> SELECT json_tuple('{"a":1, "b":2}', 'a', 'b');
1 2

常见报错与避坑指南

  • get_json_object 不同,json_tuple 一次可提取多个字段,避免了多次解析 JSON 的开销,当需要批量提取时性能更优。
  • 所有输出列类型均为 STRING,如需数值或其他类型,需要手动 cast 转换。
  • json_tuple 只能在 SELECT 语句的顶层使用,不能嵌套在其他函数调用中。

Since: 1.6.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看