hive中使用hive原生的json报错的问题

默认我们使用的hive自带的json包格式,创建表时格式为:

CREATE EXTERNAL TABLE `ods.ods_test`(
...
)
ROW FORMAT SERDE 
  'org.apache.hive.hcatalog.data.JsonSerDe' 
STORED AS text;

此时如果json格式有问题,查询整个表就会出错。
所以我们使用第三方的json包来替换。

第三方包源码地址:
https://github.com/rcongiu/Hive-JSON-Serde
第三方包jar地址:
http://www.congiu.net/hive-json-serde/
下载json-serde-1.3.8-jar-with-dependencie.jar
将json-serde-1.3.8-jar-with-dependencies.jar上传到hive的lib中。
使用第三方包的建表格式如下:

CREATE EXTERNAL TABLE `ods.ods_test`(
...
)
ROW FORMAT SERDE 
    'org.openx.data.jsonserde.JsonSerDe' 
STORED AS text;
posted @ 2022-09-29 12:44  硅谷工具人  阅读(248)  评论(0)    收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。