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

Posted 醉舞斜陽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hue创建hive表的时候显示注释乱码相关的知识,希望对你有一定的参考价值。

问题环境

软件 版本

CDH 6.3.0

hive 2.1.1-cdh6.3.0

问题原因

其实hive的元数据都是存储在数据库里面,目前支持mysql,oracle,Postgres和MS SQL Server。如果我们建表发现乱码,很显然就可以归类到数据库表乱码问题。本例关联的数据库是mysql。

表名如下:



需要修改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_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 INDEX_PARAMS modify column PARAM_VALUE varchar(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: 91 Duplicates: 0 Warnings: 0

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

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

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

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

mysql > commit;


结果

重新建表之后,然后使用命令​​show create table tttttt​​可以查看到注释已经正常了。

总结

查找问题是怎么产生的,并解决掉。这个过程可能会比较枯燥和繁琐,不过收获还是蛮大的!

以上是关于hue创建hive表的时候显示注释乱码的主要内容,如果未能解决你的问题,请参考以下文章

Hive中文乱码

Hive学习之路 Hive中文乱码

Hive学习之路Hive处理中文乱码

Hive中文注释乱码解决方案

Hive中文注释乱码解决方案

Hive 表注释显示乱码问题,GC 方式