hive 支持json格式的表

问题描述:数据是json格式存储的,需要创建一张hive表支持json格式

 

(1)低版本的hive创建json格式的表,需要add jar...,hive2.3.0版本默认支持json格式的表

 

(2)创建json格式的表需要建表语句加

ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE

 

完整sql如下:

CREATE EXTERNAL TABLE `test_json`(
字段 类型 ...)
PARTITIONED BY ( 分区..)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE
LOCATION '...';

 

(3)虽然hive2.3.0直接支持建json格式的表,也支持select *,但是select count(1) 操作时候会报错找不到org.apache.hive.hcatalog.data.JsonSerDe

解决办法:

在hive-site.xml中添加如下配置,重启hive后,恢复正常

<property>
<name>hive.aux.jars.path</name>
<!--根据自己的实际路径修改-->
<value>/home/hadoop/apache-hive-2.3.2-bin/hcatalog/share/hcatalog/hive-hcatalog-core-2.3.2.jar</value>
</property>

 

猜你喜欢

转载自coderlxl201209164551.iteye.com/blog/2414226