hive 的注释(comment) 中文乱码的解决方法(亲测有效)

简介: 最近群里有人问我hive中文显示乱码的问题, 下面就来说一下,怎么设置.创建表的时候,comment说明字段包含中文,表成功创建成功之后,desc的时候中文说明显示乱码.如下图所示:我们知道hive的元数据是有mysql管理的,所以这是mysql的元数据的问题.下面我们就修改一下字符编码(1)修改表字段注解和表注解alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;alter table TABLE_PARAMS modify column PARAM_VALUE var

最近群里有人问我hive中文显示乱码的问题, 下面就来说一下,怎么设置.


创建表的时候,comment说明字段包含中文,表成功创建成功之后,desc的时候中文说明显示乱码.如下图所示:



我们知道hive的元数据是有mysql管理的,所以这是mysql的元数据的问题.下面我们就修改一下字符编码


(1)修改表字段注解和表注解


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;

(2)修改分区字段注解


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;


(3)修改索引注解


alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

修改hive-site.xml配置文件


<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://IP:3306/db_name?createDatabaseIfNotExist=true&amp;useUnicode=true&characterEncoding=UTF-8</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>

然后再看下表结构


相关文章
|
7月前
|
SQL 关系型数据库 MySQL
Hive 表注释乱码解决
Hive元数据在MySQL默认使用`latin1`字符集导致注释乱码。可通过修改MySQL配置文件`/etc/my.cnf`,在`[mysqld]`和末尾添加`character-set-server=utf8`等设置,重启MySQL。然后在Hive数据库中调整表字段、分区字段、索引注释的字符集。注意,这仅对新表生效。测试创建带注释的Hive表,问题解决。
101 0
|
SQL 存储 关系型数据库
常见的BUG---2、Hive中文注释乱码解决办法
常见的BUG---2、Hive中文注释乱码解决办法
|
SQL 存储 分布式计算
hive 小文件问题及解决方法【重要】
hive 小文件问题及解决方法【重要】
456 0
|
SQL 文件存储 数据库
Hive分区表的新增字段数据为null的问题解决方法
Hive分区表的新增字段数据为null的问题解决方法
356 0
|
SQL 关系型数据库 MySQL
HIVE 注释出现乱码???
HIVE 注释出现乱码
116 0
HIVE 注释出现乱码???
|
SQL HIVE 负载均衡
Hive之数据倾斜的原因和解决方法
Hive之数据倾斜的原因和解决方法
9992 1
|
SQL 关系型数据库 MySQL
|
SQL 关系型数据库 MySQL
|
SQL 分布式计算 大数据
E-MapReduce解决hive comment中文乱码问题
在最新版本的EMR-1.3.0已经解决了hive comment中文乱码问题。如果已经申请了包年包月的集群,用的是老版本,那么可以过下面介绍的步骤解决这个问题。
4479 0