schema_of_json:推导JSON模式
速查结论
schema_of_json(json[, options]) 是 Spark SQL 中用于返回 JSON 字符串的模式(Schema)以 DDL 格式输出的函数。
语法
schema_of_json(json[, options])
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| json | STRING | 要推导模式的 JSON 格式字符串 |
| options | MAP | 可选参数,用于指定 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真题
