一、问题描述:
- 使用IDEA等工具连接Hive查看表信息时,表的
Comment
字段会显示???
字样,如下图:
- 当Hive表有包含JSON格式信息的表字段时,在IDEA中会不显示列信息,但是不影响正常的查询操作,如下图:
二、解决:
- 表的描述信息显示异常是由于连接元数据库编码不符导致的,此处hive的元数据信息维护在MySQL中,所以只需要在
hive-site.xml
中在连接MySQL数据的URL中指定连接编码为UTF-8即可
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://bigdata101:3306/metastore?useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
修改之需要重启HiveServer2服务,并需要重建显示异常的表即可
2. IDEA不显示JSON相关字段原因是因为没有设置hive处理JSON的依赖类,需要在hive-site.xml
文件中添加如下配置:
<!--解决使用IDEA等工具连接Hive不显示JSON表字段信息的问题-->
<property>
<name>metastore.storage.schema.reader.impl</name>
<value>org.apache.hadoop.hive.metastore.SerDeStorageSchemaReader</value>
</property>
之后需要重启HiveServer2服务
3. 问题1解决后显示:
4. 问题2解决后显示: