Hive表comment中文乱码???

Hive注释中文乱码问题:在这里插入图片描述

解决说明:

1、进入hive的元数据库中修改相应的编码配置,我使用的元数据库是MySQL。
mysql中每个数据库、每个表、每个字段都有自己的编码,默认编码为latin1_bin,我们需要将一些字段的编码改为utf8。 查看mysql中字段的编码:show full columns from tableName;
2、配置Hive Metastore Database JDBC URL的连接。

解决步骤:

进入hive的元数据库执行,修改下列内容的字符集!
1、修改表字段注解和表注解:
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 ;
2、修改分区字段注解:
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;
3、修改索引注解:
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
4、修改数据库注解:
alter table DBS modify column `DESC` varchar(4000) character set utf8 ;
5、修改metastore的连接url:

修改hive-site.xml

<property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://你的IP:3306/hive?createDatabaseIfNotExsit=true&amp;characterEncoding=UTF-8</value>
</property>
6、查看修改结果
desc [table];
show create table [table]];

需要额外说明一下,如果是在CDH里修改hive-site.xml,jdbc需要注意(去掉amp;):

在这里插入图片描述

<property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://你的IP:3306/你的数据库?createDatabaseIfNotExsit=true&characterEncoding=UTF-8</value>
</property>
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总要冲动一次

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值