一、修改数据库编码集

SET GLOBAL character_set_client = utf8;
SET GLOBAL character_set_connection = utf8;
SET GLOBAL character_set_database = utf8;
SET GLOBAL character_set_results = utf8;
SET GLOBAL character_set_server = utf8;

alter database hive character set latin1;

二、修改元数据的编码

use hive
A:修改表字段和表注解
alter table COLUMNS_V2 modify column COMMENT varchar(255) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(255) character set utf8;
B:修改分区字段注解
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(255) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(255) character set utf8;
C:修改索引注解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(255) character set utf8;

三、修改javax.jdo.option.ConnectionURL

源连接后加
?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
配置如下:

javax.jdo.option.ConnectionURL
jdbc:mysql://testbd001/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-88

注意:第一个分隔符需要用?隔开,后面的用;隔开

四、重启hive

五、测试:

drop table if exists users;
create table users(
name string comment ‘姓名’,
age int comment ‘年龄’
);
show create table users;