在最新版本的EMR-1.3.0已经解决了hive comment中文乱码问题。如果已经申请了包年包月的集群,用的是老版本,那么可以过下面介绍的步骤解决这个问题。
use hivemeta;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;
在hadoop账号下操作,su hadoop
文件 /etc/emr/hive-conf/hive-site.xml
将jdbc:mysql://${master_hostname}/hivemeta?createDatabaseIfNotExist=true 变成 jdbc:mysql://${master_hostname}/hivemeta?createDatabaseIfNotExist=true&characterEncoding=UTF-8
在hadoop账号下操作,su hadoop
ps -ef | grep hive ;将列出来的进程kill掉。然后重启hive服务
hive --service metastore 2>&1 >/dev/null &
hive --service hiveserver2 2>&1 >/dev/null &
带中文comment创建表。
然后desc tablename查看。