hive修改使用utf8编码支持中文字符集

转载来自葛大力:

1.hive建库语句:

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

2.hive启动后,修改hive的元数据信息

解决desc命令注释中文乱码:修改hive存储在mysql里的元数据相关信息 
1).修改字段注释字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

2).修改表注释字符集
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

3).修改分区表参数,以支持分区键能够用中文表示

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;

4).修改索引注解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

3.只有修改编码后才加入的中文注释才会正常显示 ,修改编码前已经存在的中文注释不会正常显示

========================建表测试========================

分区表
create table page_view 
( 
page_id bigint comment '页面ID', 
page_name string comment '页面名称', 
page_url string comment '页面URL' 
 ) 
comment '页面视图' 
partitioned by (ds string comment '当前时间,用于分区字段') ;

表字段索引
create index zxz_5_index
on table page_view (page_url)
as 'bitmap' 
with deferred rebuild
COMMENT "页面URL"

添加分区
alter table page_view add partition(ds='20190113');

插入数据
insert into page_view  partition(ds='20190113') values (1,"王克洲","田慧杰") ;

查看索引
SHOW FORMATTED INDEX ON page_view;

查看表结构
desc page_view;

测试结果 

 

猜你喜欢

转载自blog.csdn.net/qq_35440040/article/details/89226297