json_tuple:批量提取JSON字段
速查结论
json_tuple(jsonStr, p1, p2, ..., pn) 是 Spark SQL 中用于从 JSON 字符串中一次性提取多个字段值并返回为元组的函数。
语法
json_tuple(jsonStr, p1, p2, ..., pn)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| jsonStr | STRING | 有效的 JSON 格式字符串 |
| p1, p2, ..., pn | STRING | 要提取的字段名称(键名),支持传入多个。所有输入参数和输出列类型均为 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真题
