解决hive元信息乱码的问题

1、修改hive元信息库为utf8编码,然后表和字段也是




ALTER TABLE DBS DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE TBLS DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE COLUMNS_V2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;




alter table DBS modify column `DESC` varchar(4000) character set utf8 DEFAULT NULL;
alter table DBS modify column `DB_LOCATION_URI` varchar(4000) character set utf8 NOT NULL;
alter table DBS modify column `NAME` varchar(128) character set utf8 DEFAULT NULL;
alter table DBS modify column `OWNER_NAME` varchar(128) character set utf8 DEFAULT NULL;
alter table DBS modify column `OWNER_TYPE` varchar(10) character set utf8 DEFAULT NULL;


alter table TBLS modify column `OWNER` varchar(767) character set utf8 DEFAULT NULL;
alter table TBLS modify column `TBL_NAME` varchar(128) character set utf8 DEFAULT NULL;
alter table TBLS modify column `TBL_TYPE` varchar(128) character set utf8 DEFAULT NULL;
alter table TBLS modify column `VIEW_EXPANDED_TEXT` mediumtext character set utf8;
alter table TBLS modify column `VIEW_ORIGINAL_TEXT` mediumtext character set utf8;


alter table COLUMNS_V2 modify column `COMMENT` varchar(256) character set utf8 DEFAULT NULL;
alter table COLUMNS_V2 modify column `COLUMN_NAME` varchar(128) character set utf8 NOT NULL;
alter table COLUMNS_V2 modify column `TYPE_NAME` varchar(4000) character set utf8 DEFAULT NULL;


2、这样改了以后,对于hive1.2以前的版本,执行show create table还是会显示乱码,需要修改两行hive-exec模块的两行代码,编译后替换掉原有jar,方法可以参考:

https://issues.apache.org/jira/browse/HIVE-11837

其实执行 desc formatted tab_name 是不会有问题的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值