关于hadoop集群中hive表中中文字符乱码问题
hive表中中文乱码问题是我们一般是我们没有设置元数据编码格式,我们知道hive的元数据是存储在mysql的metastore数据库中,表内容存储在hdfs上,所以只要修改mysql的字符集编码为utf-8即可。
操作如下:
启动mtsql查看当前编码格式:
①修改数据库metastore中对应表的字段内容。
[atguigu@hadoop102 ~]$ masql -uroot -p000000
mysql> use metastore;
#修改字段注解
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;
②修改 metastore 的连接 URL
修改hive-site.xml配置文件