hue创建hive表的时候显示注释乱码

古人学问无遗力,少壮工夫老始成。这篇文章主要讲述hue创建hive表的时候显示注释乱码相关的知识,希望能为你提供帮助。
问题环境
软件 版本
CDH 6.3.0
hive 2.1.1-cdh6.3.0
问题原因
其实hive的元数据都是存储在数据库里面,目前支持mysql,oracle,Postgres和MS SQL Server。如果我们建表发现乱码,很显然就可以归类到数据库表乱码问题。本例关联的数据库是mysql。
表名如下:


hue创建hive表的时候显示注释乱码

文章图片



hue创建hive表的时候显示注释乱码

文章图片

需要修改mysql的hive的的字符改成utf-8
解决方案:
在??mysql??对应的??hive??库执行以下??SQL??,即可更新回来:
?
-- 修改表字段注解和表注解
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_PARAMSmodify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYSmodify column PKEY_COMMENT varchar(4000) character set utf8;
-- 修改索引注解:
alter tableINDEX_PARAMSmodify column PARAM_VALUEvarchar(4000) character set utf8;


# 首先进入 hive 库
mysql > use hive;

# 然后修改部分配置
mysql > alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
Query OK, 91 rows affected (0.05 sec)
Records: 91Duplicates: 0Warnings: 0

mysql> alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
Query OK, 35 rows affected (0.05 sec)
Records: 35Duplicates: 0Warnings: 0

mysql> alter table PARTITION_PARAMSmodify column PARAM_VALUE varchar(4000) character set utf8;
Query OK, 0 rows affected (0.04 sec)
Records: 0Duplicates: 0Warnings: 0

mysql> alter table PARTITION_KEYSmodify column PKEY_COMMENT varchar(4000) character set utf8;
Query OK, 1 row affected (0.04 sec)
Records: 1Duplicates: 0Warnings: 0

mysql> alter tableINDEX_PARAMSmodify column PARAM_VALUEvarchar(4000) character set utf8;
Query OK, 0 rows affected (0.04 sec)
Records: 0Duplicates: 0Warnings: 0

mysql > commit;



结果重新建表之后,然后使用命令??show create table tttttt??可以查看到注释已经正常了。
hue创建hive表的时候显示注释乱码

文章图片

总结【hue创建hive表的时候显示注释乱码】查找问题是怎么产生的,并解决掉。这个过程可能会比较枯燥和繁琐,不过收获还是蛮大的!

    推荐阅读