天天看點

E-MapReduce解決hive comment中文亂碼問題

在最新版本的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服務

ps -ef | grep hive ;将列出來的程序kill掉。然後重新開機hive服務

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

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

4. 重建立表

帶中文comment建立表。

然後desc tablename檢視。