hive comment注释中文乱码解决

1、进入数据库 Metastore 中执行以下 5 条 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;

2、修改 metastore 的连接 URL(新版本只需要执行第一步即可)

jdbc:mysql://IP:3306/db_name?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
  1. jdbc连接Hive中文乱码(新版本只需要执行第一步即可)
# 连接地址后加上;characterEncoding=UTF-8
# 例如: jdbc:hive2://172.69.1.171:10500/default;auth=noSasl;characterEncoding=UTF-8
  1. 旧版本修改后show create table任然乱码问题(新版本只需要执行第一步即可)
# 低版本缺陷,高版本已解决
https://issues.apache.org/jira/browse/HIVE-11837
# 1. 下载Hive源码
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/

# 2. 打上补丁
patch -p1 < HIVE-XXXX.patch

如果版本不是完全匹配,可以手动按照补丁修改
# 重新编译改项目

# 执行如下指令重新编译打包
mvn install -DskipTests -Dcheckstyle.skip=true
mvn clean package -Phadoop-2 -Pdist -DskipTests -Dtar

mvn clean package -Phadoop-2 -Pdist -DskipTests -Dtar

mvn -Phadoop-2 -Pdist -DskipTests -Dmaven.javadoc.skip=true clean package

log中有如下日志

[INFO] Copying hive-jdbc-2.1.1-standalone.jar to /你的目录/hive/apache-hive-2.1.1-src/packaging/target/apache-hive-2.1.1-jdbc.jar


指明了打包好的jar的路径
解压apache-hive-2.1.1-jdbc.jar

    tar -zxf apache-hive-2.1.1-jdbc.jar /目标临时目录

3-3将其中lib目录下的hive-exec-2.1.1.jar 替换hive安装目录lib下的该文件

此时重新执行show create table 中文正常显示了

    show create table newtable

至此解决了Hive中desc和show create table中文注释乱码问题
点击下载-编译后的hive-exec-2.1.1.jar
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值