前言
公司决定使用Ambari+HDP这一套大数据运维加部署框架去替代CDH,遇到一些问题会及时记录下来
Hive建表语句
| create table test.mytest_tm1( id int comment'编号', name string comment '名字' ) row format delimited fields terminated by '\u0001' lines terminated by '\n' stored as textfile;
|
Hive的元数据存在Mysql中,而Mysql字符集的默认Latin1,则会出现乱码
修改Mysql字符集 latin1 改成 utf-8
在hive库里面修改表、分区、视图
修改表字段注解和表注解
| use hive; 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_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ; alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
|
修改索引注解
| alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
|
注意修改完成后要重启Hive
| jdbc:mysql://ip:3306/database?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
|
验证结果
注意:必须是新建hive表,就得表字符集已经不可改变。