hive的元数据metastore在mysql的数据库,不管是数据库本身,还是里面的表编码都必须是latin1
解决hive drop table卡死不动问题,comment注解以及字段中文乱码问题:
首先修改my.cnf文件
然后重启mysql
重启后删除原元数据库,创建新的元数据库
修改hive-site.xml文件中为:
注意是utf8而不是latin1
重启hive
进入mysql中hive的元数据库hivemetastore
修改以下涉及注解comment的表和字段
表字段注解和表注解
alter table COLUMNS_V2 modify column COMMENT varchar(4000) 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;
添加含中文字段的表数据及注解,显示成功