默认我们使用的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;