在hive中建表的時候,有時候難免要表中文注釋,然而如果不經過配置,會導致desc某個表名的時候,直接以?的方式返回。
因此也來解決一下hive中文注釋亂碼的問題。由於hive的元資料是存在於mysql上的,因此需要在mysql上進行元資料的候。
當hive使用mysql作為元資料庫的時候mysql的字符集要設定成latin1 default。alter database hive character set latin1;
為了儲存那些utf8的中文,要將mysql中儲存注釋的那幾個欄位的字符集單獨修改為utf8。
1.修改字段注釋字符集
修改mysql-hive資料庫當中的columns_v2表
alter
table columns_v2 modify column comment varchar(256) character
set utf8;
2.修改表注釋字符集
修改mysql-hive資料庫當中的table_params表
alter
table table_params modify column param_value varchar(4000) character
set utf8;
3.修改分割槽表引數,以支援分割槽鍵能夠用中文表示
修改mysql-hive資料庫當中的partition_params與partition_keys表
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;
如果以上修改還不成功,需要在hive-site.xml修改mysql對於hive的編碼為utf8
4.修改相關表相關字段編碼
alter
table index_params modify column param_value varchar(4000) character
set utf8;
ajax php中文亂碼解決辦法
ajax的亂碼的出現在的原因 www.jiedichina.com 南京捷帝 由於xmlhttp採用的是unicode編碼上傳資料,而一般頁面採用的是gb2312,這就造成顯示頁面時產生亂碼。而當在獲取頁面時的xmlhttp返回的是utf 8編碼,這就造成了顯示產生亂碼。解決方法之一就是在php檔案...
ajax php中文亂碼解決辦法
今天在做乙個ajax效果的時候遇到乙個問題,前台輸入的中文傳入php檔案後亂碼,弄了一下午才好。現在把解決辦法寫下來 ajax的亂碼的出現在的原因 由於xmlhttp採用的是unicode編碼上傳資料,而一般頁面採用的是gb2312,這就造成顯示頁面時產生亂碼。而當在獲取頁面時的xmlhttp返回的...
centos 中文亂碼解決辦法
緣由 本人在虛擬機器中安裝centos 5.3,起初安裝時選擇了english,後來使用的過程中發現開啟網頁,會出現中文亂碼,無法正常顯示。當然,本地檔案中的中文更是無法顯示。若是將系統語言language設定成中文,則整個系統全部亂碼。綜上 解決系統中文亂碼的步驟為 1.在光碟中 找到這兩個包,安...