关于hadoop集群中hive表中中文字符乱码问题

关于hadoop集群中hive表中中文字符乱码问题

hive表中中文乱码问题是我们一般是我们没有设置元数据编码格式,我们知道hive的元数据是存储在mysql的metastore数据库中,表内容存储在hdfs上,所以只要修改mysql的字符集编码为utf-8即可。
操作如下:
启动mtsql查看当前编码格式:
①修改数据库metastore中对应表的字段内容。

[atguigu@hadoop102 ~]$ masql -uroot -p000000
mysql> use metastore;
#修改字段注解
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;

②修改 metastore 的连接 URL
修改hive-site.xml配置文件

javax.jdo.option.ConnectionURL jdbc:mysql://hadoop102:3306/metastore?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8 JDBC connect string for a JDBC metastore
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值