hive表中字段出现乱码问题

原因:Hive元数据存储在Mysql中采用默认latin1编码,导致开发环境出现了这个问题,解决方法如下所示:

1.进入mysql ,执行
     show create database hive
     查看hive 数据库当前编码,如果是utf8 则执行下面sql:
     alter database hive default character set latin1
     将 hive 数据库默认编码改成 latin1
     
2.为了以下支持hive建表时插入中文注释 需要在mysql中做如下设置:
    //修改字段注释字符集
    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_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
    alter table PARTITION_PARAMS  modify column PARAM_VALUE varchar(4000) character set utf8;
    //修改索引注解
    alter table INDEX_PARAMS  modify column PARAM_VALUE  varchar(4000) character set utf8;

3.问题解决!

猜你喜欢

转载自blog.csdn.net/w13716207404/article/details/103286948