古人学问无遗力,少壮工夫老始成。这篇文章主要讲述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_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表的时候显示注释乱码】查找问题是怎么产生的,并解决掉。这个过程可能会比较枯燥和繁琐,不过收获还是蛮大的!
推荐阅读
- BFD与VRRP协议
- Android技术分享| 一行代码实现安卓屏幕采集编码
- 模拟退火算法详细讲解以及实践应用
- 如何理解 Vue 中的生命周期
- 算法与数据结构系列「限流算法专项」带你认识常用的限流算法的技术指南(分析篇)
- 如何确保我的WordPress插件的样式不会被全局/主题样式覆盖()
- 如何仅在自定义帖子类型的单个页面和存档页面上排队脚本和样式()
- 如何使用WordPress functions.php中的ACF使脚本入队和出队()
- 如何使用语法高亮显示来编辑wordpress页面的html