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

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

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

hive的注释(comment)中文乱码的解决方法(亲测有效)_第1张图片

我们知道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配置文件


    javax.jdo.option.ConnectionURL
    jdbc:mysql://IP:3306/db_name?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
    JDBC connect string for a JDBC metastore

然后再看下表结构

hive的注释(comment)中文乱码的解决方法(亲测有效)_第2张图片

如果有写的不对的地方,欢迎大家指正,如果有什么疑问,可以加QQ群:340297350,更多的Flink和spark的干货可以加入下面的星球

你可能感兴趣的:(hive)