E-MapReduce解決hivecomment中文亂碼問題

計算愛好者發表於2016-06-07

在最新版本的EMR-1.3.0已經解決了hive comment中文亂碼問題。如果已經申請了包年包月的叢集,用的是老版本,那麼可以過下面介紹的步驟解決這個問題。

  • 1.登入mysql變更hive的meta表

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;


  • 2. 更改hive配置


在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


  • 3.重啟hive服務


在hadoop賬號下操作,su hadoop

ps -ef | grep hive ;將列出來的程式kill掉。然後重啟hive服務

hive –service metastore 2>&1 >/dev/null &

hive –service hiveserver2 2>&1 >/dev/null &

  • 4. 重新建表

帶中文comment建立表。

然後desc tablename檢視。


相關文章