默认情况下我们需要将数据库的编码设置为lanin1.

alter database hive character set latin1;


但为了以下是为了支持hive建表时插入中文注释 需要在mysql中做如下设置:
//修改字段注释字符集
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;


另外还是不起作用,需要查看hive的源码,查看hive-exec-0.14.0.jar下的src/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java这个类中的describeTable方法。需要查看

wKiom1Uc_-PCLChyAAMfjm4P3xU192.jpg

中注释掉的两行代码,如果是outstream.writeBytes,需要将其修改为outStream.write方法。问题解决!