先确定hive表的元数据信息存放位置:
默认存放在 derby数据库
 
大部分用户选择放到mysql数据库
 mysql数据库又分为远程 数据库 和 本地数据库  
 
区分放在那个mysql数据库,要查看hive-site.xml配置文件
我这里演示的是:
hive元数据存放到本地mysql数据库
 
先进入到本地mysql数据库:
 
直接登录进去:
查看一下数据库信息
 

我的hive元数据放在的是hive库中:
show tables
 

重点关注一下这几张表:
COLUMNS_V2    hive表中字段字符集
TABLE_PARAMS   hive表注释字符集
PARTITION_PARAMS    hive分区表参数使用中文注释
PARTITION_KEYS    hive分区表参数使用中文注释
INDEX_PARAMS    
TBLS  hive表中视图字段支持中文注解
 
1、修改字段字符集
ALTER TABLE COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
 
2、修改表注释字符集
ALTER TABLE TABLE_PARAMS modify column PARAM_VALUE varchar(10000) character set utf8;
 
3、分区参数使用中文
ALTER TABLE PARTITION_PARAMS modify column PARAM_VALUE varchar(10000) character set utf8;
ALTER TABLE PARTITION_KEYS modify column PKEY_COMMENT varchar(10000) character set utf8;
 
4、表注释支持中文
ALTER TABLE INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
 
5、表视图支持中文
ALTER TABLE TBLS modify COLUMN VIEW_EXPANDED_TEXT mediumtext CHARACTER SET utf8;
ALTER TABLE TBLS modify COLUMN VIEW_ORIGINAL_TEXT mediumtext CHARACTER SET utf8;
 
修改 1、 2 基本够用后面如果用的着可以自己研究一下
到hive中找到一张测试表:
alter table  
 default.dept 
 add columns 
( testColumn string COMMENT'中文乱码') ;
 
查看表结构:
 DESCRIBE default.dept;
 










