Json Functions(JSON 函数)

文章目录


原文:Apache Spark SQL --- Json Functions

本分类按照 Spark SQL 官方目录函数顺序整理,共 7 个函数。


1、from_json

语法

sql 复制代码
from_json(jsonStr, schema[, options])

说明

按照指定 Schema 解析 JSON 字符串,并返回对应的 STRUCT 值。

示例

sql 复制代码
> SELECT from_json('{"a":1, "b":0.8}', 'a INT, b DOUBLE');
  {"a":1,"b":0.8}

引入版本: 2.2.0

官方条目

2、get_json_object

语法

sql 复制代码
get_json_object(json_txt, path)

说明

按指定 JSON 路径提取对象或值。

示例

sql 复制代码
> SELECT get_json_object('{"a":"b"}', '$.a');
  b

引入版本: 1.5.0

官方条目

3、json_array_length

语法

sql 复制代码
json_array_length(jsonArray)

说明

返回最外层 JSON 数组中元素的数量。

示例

sql 复制代码
> SELECT json_array_length('[1,2,3,4]');
  4

引入版本: 3.1.0

官方条目

4、json_object_keys

语法

sql 复制代码
json_object_keys(json_object)

说明

提取最外层 JSON 对象全部字段名并返回数组。

示例

sql 复制代码
> SELECT json_object_keys('{"key": "value"}');
  ["key"]

引入版本: 3.1.0

官方条目

5、json_tuple

语法

sql 复制代码
json_tuple(jsonStr, p1, p2, ..., pn)

说明

从 JSON 对象中按多个字段名提取值,各输出列均为字符串类型。

示例

sql 复制代码
> SELECT json_tuple('{"a":1, "b":2}', 'a', 'b');
  1  2

引入版本: 1.6.0

官方条目

6、schema_of_json

语法

sql 复制代码
schema_of_json(json[, options])

说明

推断 JSON 字符串的 Schema,并以 DDL 格式返回。

示例

sql 复制代码
> SELECT schema_of_json('[{"col":0}]');
  ARRAY<STRUCT<col: BIGINT>>

引入版本: 2.4.0

官方条目

7、to_json

语法

sql 复制代码
to_json(expr[, options])

说明

将 STRUCT 等复杂类型值转换为 JSON 字符串。

示例

sql 复制代码
> SELECT to_json(named_struct('a', 1, 'b', 2));
  {"a":1,"b":2}

引入版本: 2.2.0

官方条目

相关推荐
飞飞传输17 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
得帆低代码PaaS17 小时前
企业级 Agent 架构:MCP、Integration、数据与治理能力
大数据·人工智能·架构·ai agent·企业数字化·mcp
阿里云大数据AI技术1 天前
EMR Serverless Ray:让 AI 推理融入数据处理
人工智能·spark
TDengine (老段)1 天前
TDengine IDMP 十大实用功能(9)
大数据·数据库·人工智能·物联网·时序数据库·tdengine·idmp
程序员大阳1 天前
副队长JavaScript教程(66)-本地存储实战:待办事项网页的开发
javascript·json·实战·待办事项·本地存储·案例
播播资源1 天前
同账户实测 11 个多模态模型:图像 0.03 元起、竖屏视频 8 元一条,最贵和最便宜差 267 倍
大数据·人工智能·深度学习
全栈陈序员1 天前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
演艺大赏1 天前
NiFi 从 3 台扩到 25 台:三轮扩容后我才明白,证书必须全量重签、安装包绝对不能拷
大数据
做科研的周师兄1 天前
【R语言实战】MixSIAR 氢氧同位素水源解析全流程:从混合空间校验到贝叶斯 MCMC 收敛诊断(后附完整代码)
java·大数据·开发语言
isfox1 天前
MapReduce 数据清洗:脏数据进来,干净数据出去,连 Reduce 都省了
大数据