跳到主要内容

schema_of_json:推导JSON模式

速查结论

schema_of_json(json[, options]) 是 Spark SQL 中用于返回 JSON 字符串的模式(Schema)以 DDL 格式输出的函数。

语法

schema_of_json(json[, options])

参数说明

参数类型说明
jsonSTRING要推导模式的 JSON 格式字符串
optionsMAP可选参数,用于指定 JSON 解析选项(如 allowNumericLeadingZeros 等)

示例

> SELECT schema_of_json('[{"col":0}]');
ARRAY<STRUCT<col: BIGINT>>
> SELECT schema_of_json('[{"col":01}]', map('allowNumericLeadingZeros', 'true'));
ARRAY<STRUCT<col: BIGINT>>

常见报错与避坑指南

  • JSON 包含前导零的数字(如 01)在默认情况下会解析失败。如需支持,须在 options 中设置 allowNumericLeadingZeros'true'
  • 返回的 DDL 格式文本可直接用于 CREATE TABLE 语句或 from_json 函数的 schema 参数。
  • 函数通过采样推断类型,若 JSON 数据中同一字段在不同行出现不同类型,推断结果可能不稳定,建议配合 from_json 使用并指定显式 schema。

Since: 2.4.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看