2016-01-26 61 views
2

在我當前的項目中,我使用的是快速壓縮格式的Orc文件,運行它的任何查詢都只運行一個映射器。我嘗試配置mapred.max。 split.size和mapred.min.split.size,但沒有顯示mappers的數量有任何變化。reducer的數量已經足夠好了,但由於mapper是一個mapper,因此需要運行一個簡單查詢的時間。hadoop orc table始終只需要一個映射器

從x組中選擇x,max(y)x;需要將近20分鐘才能完成映射器。 有沒有其他的事情我應該做,以增加mappers的數量。

請不要說使用分區或桶,因爲我已經在我的表中使用它們。

+0

哪個版本的Hive?使用MapReduce的TEZ?多少個物理文件? ORC帶的大小?在桌上收集統計數據? EXPLAIN計劃是否有意義?嘗試使用默認的GZip壓縮?順便說一句,實際的分區鍵是什麼?X,Y,還有其他的東西?試圖強制分區映射器與選擇X,max(YY)從(選擇部分,X,最大(Y)YY從Z組由PART,X)Duh組由X'? –

+0

Hive版本-2.3.0.0 – Peter

回答

0

嘗試玩tblproperties orc.stripe.size。

條帶大小的默認值是256 MB,從技術上說每個條帶有一個映射器。隨着單條紋大小的減小,您可以增加映射器的數量。