Hive字符编码

原创
2017/05/23 10:40
阅读数 1.2W

实验过程中发现把整个数据库编码改成latin1或者Utf8都不行,只有把整个数据库设定为latin1而把要存储中文的数据表的编码设定为UTF8才能够解决。

第一步:修改表字段的字符编码为utf8

修改字段注释字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
修改表注释字符集
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
修改分区表参数,以支持分区键能够用中文表示。
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;

通过mysql命令:show create table COLUMNS_V2可以查看字段是否成功修改编码。

第二步:修改HiveJDBC的编码

<property> 
  <name>javax.jdo.option.ConnectionURL</name> 
  <value>jdbc:mysql://IP:3306/hive?characterEncoding=UTF-8</value> 
  <description>JDBC connect string for a JDBC metastore</description> 
</property>

Ambari的配置位置:

Hive-shell模式:set -v 可以查看配置是否成功。

AquaDataStudio(IDE)连接元数据的时候需要设置他的驱动如下:

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部