2012-12-04 89 views
3

我在Hive中有2個表 - 第一個是外部的,第二個是託管的。託管表從外部使用INSERT OVERWRITE ... SELECT FROM external_table進行填充。這兩個表都是用由','分隔的行創建的。當我運行選擇查詢到文件中,結果文件中的分隔符是Tab,但我需要逗號。如何將其更改爲逗號,我沒有看到該屬性。Hive查詢輸出分隔符

回答

13

首先,你需要改變你的字段分隔符,而不是你的行分隔符即。其次,如果你仍然面臨這個問題,你可以簡單地使用sed來改變它。

bash >> hive -e 'select * from some_Table' | sed 's/[\t]/,/g' > outputfile.txt 

請不是[\噸]是按控制+ V,然後將標籤炭:

sed 's/<Control+V><TAB character>/,/g' 
+0

感謝尼科爾。但我認爲有一些配置將逗號設置爲默認輸出分隔符。這樣的配置單元的行爲是奇怪的... –

+0

請你簡單介紹一下這裏發生了什麼 - 'sed's/[\ t] /,/ g'> outputfile.txt'。 'hive -e'用於從命令提示符運行配置單元,對嗎? –

+0

檢查答案http://stackoverflow.com/a/18142190/1503859 –