前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hive-2.1.0 comment中文乱码 修改sql和相关代码重新打包

hive-2.1.0 comment中文乱码 修改sql和相关代码重新打包

原创
作者头像
captainzmc
修改2019-05-29 14:57:47
1.5K0
修改2019-05-29 14:57:47
举报
文章被收录于专栏:大数据相关大数据相关

在使用hive-2.1.0的过程中使用desc tableName或者show create table tableName发现comment出现中文乱码问题。需要对hive作出修改并重新打包

参考/developer/article/1419250中整理的Hive表所有与中文注释相关的属性项。进行如下修改:

1、直接修改hive初始化sql文件(对应当前hive版本号) HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-2.1.0.mysql.sql。对以下7行作出修改。

代码语言:javascript
复制
#修改字段注释字符集
54   `COMMENT` varchar(256) CHARACTER SET utf8 DEFAULT NULL,
#修改表名注释,支持中文表示
177   `PARAM_VALUE` varchar(4000) CHARACTER SET utf8 DEFAULT NULL,
#修改分区参数,支持分区建用中文表示
249   `PKEY_COMMENT` varchar(4000) CHARACTER SET utf8 DEFAULT NULL,
284   `PARAM_VALUE` varchar(4000) CHARACTER SET utf8 DEFAULT NULL,
#修改表注释字符集
565   `PARAM_VALUE` varchar(4000) CHARACTER SET utf8 DEFAULT NULL,
#修改视图,支持视图中文
588   `VIEW_EXPANDED_TEXT` mediumtext CHARACTER SET utf8,
589   `VIEW_ORIGINAL_TEXT` mediumtext CHARACTER SET utf8,

2、修改后安装部署hive,初始化数据库。(若hive已经部署上,则参看上面的链接直接去mysql中alter相关表字段)

3、部署之后进入hive shell建表测试

代码语言:javascript
复制
CREATE TABLE test_comment (
s1 string COMMENT "测试字段",
s2 string COMMENT "测试字段2"
) COMMENT "测试表名" 
partitioned BY (s3 string COMMENT "测试分区");

4、使用desc test_comment测试正常

5、使用show create table test_comment发现仍有乱码问题。

6、下面处理show create table的乱码问题,关于这部分社区也有可参考的patch https://issues.apache.org/jira/browse/HIVE-11837,参考该patch需要对hive-2.1.0 ql下的两个类MetaDataFormatUtils和DDLTask作出修改,并重新编译生成hive-exec-2.1.0.jar。

7、下载hive-2.1.0源码https://github.com/apache/hive/archive/release-2.0.1.zip,解压后修改ql下的如下两个类

org.apache.hadoop.hive.ql.exec.DDLTask修改2080行和2228行如下:

org.apache.hadoop.hive.ql.metadata.formatting.MetaDataFormatUtils修改465行如下:

8、mvn clean package -DskipTests重新编译生成hive-exec-2.1.0.jar,替换环境中hive lib下的hive-exec-2.1.0.jar

,重启HiveMetaStore进入hive shell,执行show create table test_comment问题解决。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com