
- 原因:
Hive元数据信息存储在MySQL中。
Hive要求数据库级别的字符集必须是latin1。但是对于具体表中字段的字符集则没做要求。
默认情况下,==字段字符集也是latin1,但是latin1不支持中文==。

- 解决
在mysql中,对于记录注释comment信息的几个表字段字符集进行修改。
step1:DataGrip打开MySQL console控制台

step2:执行下述sql语句修改字符集
要去mysql中修改hive的元数据 以便支持中文注释
alter table hive.COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table hive.TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table hive.PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ;
alter table hive.PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
alter table hive.INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
step3:查看验证是否修改成功


网友评论