Impala中解析JSON格式字符串返回NULL问题排查与解决
问题排查与解决方法
错误原因
你的JSON路径写错了。示例JSON里D对象是嵌套在A对象内部的,而你写的$.D.F直接跳过了A这一层,Impala找不到对应的节点,所以返回NULL。
正确解决方法
修正JSON路径,补上A层级,正确的查询语句如下:
select get_json_object(json_data,"$.A.D.F") as value, json_data from mytable;
额外注意事项
- 确认
json_data字段存储的JSON格式完全合法,没有引号不匹配、逗号遗漏等语法错误,格式问题也会导致提取失败返回NULL。 - 如果JSON字符串存储时带有转义字符(比如
{\"A\":{\"B\":\"b\"...}}),Impala的get_json_object可以正常解析,无需额外处理。
内容的提问来源于stack exchange,提问作者Passive_coder
相关产品推荐
相关产品推荐

