使用Google Data Fusion Wrangler解析JSON时为何报错?
Google Data Fusion Wrangler JSON解析报错排查方案
核心排查步骤:
校验JSON格式合法性
先确认JSON文件本身无语法错误:可以用本地工具jq . your-file.json(终端执行)来快速校验,若报错则说明JSON存在引号不匹配、嵌套结构未闭合、逗号多余/缺失等问题,修复后再重试。核对Avro Schema与JSON结构匹配度
- 字段名严格区分大小写,确保Schema里的字段名和JSON中的完全一致
- 字段类型必须对应:比如JSON中的布尔值对应Avro的
boolean,数字类型要区分int/long/float,嵌套对象/数组的层级要和Schema定义完全对齐 - 若JSON中存在可选字段(可能缺失的字段),Schema中需将该字段定义为联合类型(例如
["null", "string"]),否则缺失字段会触发解析报错
检查Wrangler解析配置
- 确认JSON解析模式:如果文件是每行一个独立JSON对象(JSON Lines格式),需在Wrangler中选择对应模式;如果是整个文件为一个JSON数组,要切换到数组解析模式
- 核对Wrangler指令:确保使用的
parse-as-json或parse-json指令参数正确,比如指定了正确的根节点(如果JSON有嵌套根结构)
排查文件编码与完整性
- 确认Cloud Storage中的JSON文件是UTF-8编码,非UTF-8编码可能导致解析失败
- 尝试上传一小段测试用的合法JSON(比如1-2条记录)到Cloud Storage,测试是否能正常解析,排除大文件损坏或包含特殊字符的问题
内容的提问来源于stack exchange,提问作者Sinjini
相关产品推荐
相关产品推荐

