2015-09-17 104 views
2

當我運行一個Hive查詢時,會生成大量空的.deflate文件(它們實際上是大約8個字節,我認爲這是.deflate文件的最小大小)。我懷疑這是因爲查詢需要大量的reducer。我想知道是否有辦法避免生成這些空的.deflate文件?如何避免爲Hive查詢生成空的.deflate文件?

由於提前,

+0

有沒有人有任何意見?謝謝。 :) –

+1

'rm * .deflate'怎麼樣? – gobrewers14

+0

@ GoBrewers14,:)我想避免生成它們。配置單元中是否有任何設置?謝謝。 –

回答

6

.deflate是默認compression codec

有跡象表明,可用於減少磁盤空間的大小Hive壓縮設置: Hive用於其queries

當屬性hive.exec.compress.output=trueHive將使用codecmapred.map.output.compression.codec屬性配置在HDFS壓縮存儲。這些屬性可以在hive.site.xmlHive-CLI中設置。

爲了使從Hive-CLI輸出壓縮:

hive> set hive.exec.compress.output=true;

要使用hive.site.xml

<property> 
<name>hive.exec.compress.output</name> 
<value>true</value> 
</property> 

使能輸出壓縮所以禁用.deflate文件:

hive.exec.compress.output=false;

+0

感謝您的回覆,以及所有的細節。我的問題不是如何避免生成.deflate文件,但爲了避免生成空的.deflate文件,我發現每個reducer都會生成一個.deflate文件,即使它是空的。任何想法或想法都表示讚賞。謝謝。 –

+0

嗨Vinkal,如果你有任何想法如何避免生成.deflate文件,欣賞你的份額。 :) –