hive表資料匯出到csv亂碼原因及解決方案

2021-06-27 20:12:59 字數 492 閱讀 2232

hive表中的資料使用hive - e"select * from table">aa.csv匯出到csv檔案的時候在window中用excel開啟檢視的時候是亂碼,而且格式也不對。

原因有下面兩個:

1.亂碼的原因是用excel開啟csv時格式預設為gbk,但是從hive中匯出來的是utf8的

2.格式不對的原因是csv檔案的列分隔符是逗號或者\t,而hive中預設使用\001

解決辦法:

使用hive中的concat_ws函式將所有列連線起來組成一列。

concat_ws('分隔符',列1,列2,……),語句如下

hive -e " select concat_ws(',',cat1,cat2,dd_name) as onecl from dd_prod">testaa.csv

然後再使用iconv -f utf-8 -c  -t gbk testaa.csv > testbb.csv轉換編碼。得到的testbb.csv沒有亂碼格式也對。

Hive表匯出到mysql表異常

將hive表中資料匯出到mysql的表出現異常 將hive中帶有mysql關鍵字的字段表的資料匯入的mysql中出現異常異常命令如下 zkpk master bin sqoop export connect jdbc mysql username hadoop password sivc303 ta...

如何將hive的資料表匯出到csv格式的檔案中

由於在hive hue web頁面上無法全部展示比較大的資料,並且就算匯出到excel中也會對伺服器產生特別大的壓力。所以就需要將hive資料表的資料匯出以csv形式的儲存!hive e select from dhtest.temp uv res1.csv 將需要的查詢資料匯出到 res1.csv...

Hive表匯出成csv檔案

將表頭輸出 select from data table where some query conditions sed s t g hivefile.csv set hive.cli.print.header true將表頭輸出 sed s t g 將 t替換成 將shell裡列印的內容輸出到檔案...