Hive中文注释乱码

查看表时,发现comment注释的中文是一堆问号。

 

Hive的元数据存在MySQL中,查看MySQL的COLUMNS_V2表,可以看到字符集是latin1。

show create table COLUMNS_V2;

 

 

解决方法 

修改其中有关COMMENT的设置,但是只对新建的表有效,原来的表只能通过alter修改注释才可以。

# 建库时hive的库名改的metastore
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_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

# 索引
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

重新建表 

create table stu(id int comment '学号', name string comment '姓名');

  

 

修改Hive表注释 

# 修改hive表注释
alter table table_name set TBLPROPERTIES('comment' = '表注释');
 
# 修改字段注释
alter table table_name change column 原列名 新列名 列类型 comment '列注释';

如果数据少,可以重新建表,把数据导入。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

訾零

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

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

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

打赏作者

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

抵扣说明:

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

余额充值