问题详情:
为了解决Hive中创建表的时候,注解等中文显示的乱码问题
需要设置MetaStore DataBase中某些字段的字符编码为utf-8
Hive MetaStore 配置说明
- 1. MySQL 授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION ;
FLUSH PRIVILEGES ;
-- 2. 建议先建元数据库, 设置编码为 latin1.
如果后期, 再去修改会出问题,
如drop table 无反应, create table 字段太长等
-- 3. 创建表 字段描述中文乱码等 解决方案
-- a. 修改表字段 注解 和 表 注解
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 ;
-- b. 修改分区字段注解
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 ;
-- c. 修改索引注解
ALTER TABLE INDEX_PARAMS MODIFY COLUMN PARAM_VALUE varchar(4000) character set utf8 ;
-- d.修改 数据库 注解
ALTER TABLE DBS MODIFY COLUMN `DESC` varchar(4000) character set utf8 ;
设置hive配置文件中连接mysql中字符传输方式
jdbc:mysql://bigdata-hpsk01.huadian.com/metaStore_cdh?createDatabaseIfNotExist=true&characterEncoding=UTF-8