默认情况下我们需要将数据库的编码设置为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方法。需要查看
中注释掉的两行代码,如果是outstream.writeBytes,需要将其修改为outStream.write方法。问题解决!
时间: 2024-10-14 08:15:11