创建Hive表后,查看表结构发现中文注释乱码

问题描述:

创建Hive表后,查看表结构发现中文注释乱码

解决方法:

  1. 进入mysql,执行如下命令
sql 复制代码
use hive;
#修改表字段注解编码
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;

2.删除旧的Hive表,然后重新建表即可

如果还是不行,可能是mysql编码问题

解决办法:

  1. 编辑Mysql的配置文件,MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,Linux下一般是 /etc/my.cnf,/etc/mysql/my.cnf,如果找不到,可以用find命令查找。Linux用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,只需要使用如下命令即可
bash 复制代码
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
  1. 在 [mysqld] 标签下加上两行
bash 复制代码
default-character-set = utf8

character_set_server = utf8
  1. 在 [mysql] 标签下加上一行
bash 复制代码
default-character-set = utf8
  1. client\]标签下加上一行

default-character-set = utf8

复制代码
5. 重启mysql服务

在Linux下使用 service mysql restart\*\*
相关推荐
zgl_200537792 天前
ZGLanguage 解析SQL数据血缘 之 Python提取SQL表级血缘树信息
大数据·数据库·数据仓库·hive·hadoop·python·sql
Justice Young3 天前
Hive第四章:HIVE Operators and Functions
大数据·数据仓库·hive·hadoop
LF3_3 天前
hive,Relative path in absolute URI: ${system:user.name%7D 解决
数据仓库·hive·hadoop
德彪稳坐倒骑驴3 天前
Hive SQL常遗忘的命令
hive·hadoop·sql
Justice Young3 天前
Hive第六章:Hive Optimization and Miscellaneous
数据仓库·hive·hadoop
Justice Young3 天前
Hive第五章:Integeration with HBase
大数据·数据仓库·hive·hbase
Justice Young3 天前
Hive第三章:HQL的使用
大数据·数据仓库·hive·hadoop
yumgpkpm4 天前
AI评判:信创替代对Cloudera CDH CDP Hadoop大数据平台有何影响?
大数据·hive·oracle·flink·kafka·hbase·cloudera
yumgpkpm4 天前
Cloudera CDH5、CDH6、CDP7现状及替代方案
数据库·人工智能·hive·hadoop·elasticsearch·数据挖掘·kafka
心止水j5 天前
hive问题
数据仓库·hive·hadoop