Hive注释乱码问题/更改元数据库配置

CDH4版本

情况:
    创建表的时候,comment说明字段包含中文,表成功创建成功之后,中文说明显示乱码
    说明:
    默认情况下metastore 支持数据库级别,表级别的字符集是 latin1
解决方法(修改完成后,已有乱码的表需要重建)1. 修改metastore元数据库中指定表字段的编码为utf8


2
#修改字段注释字符集
3
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
4
#修改表注释字符集
5
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(40000) character set utf8;
6
#修改分区参数,支持分区建用中文表示
7
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(40000) character set utf8;
8
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(40000) character set utf8;
9
#修改表名注释,支持中文表示
10
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
11
#修改视图,支持视图中文
12
ALTER TABLE TBLS modify COLUMN VIEW_EXPANDED_TEXT mediumtext CHARACTER SET utf8;
13
ALTER TABLE TBLS modify COLUMN VIEW_ORIGINAL_TEXT mediumtext CHARACTER SET utf8;

   2. 确认hive配置的连接参数为utf8(检查即可,一般不用修改)<property>
2
    <name>javax.jdo.option.ConnectionURL</name>
3
    <value>jdbc:mysql://ip-or-fqdn:3306/dbname?useUnicode=true&amp;characterEncoding=UTF-8</value>
4
  </property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值