2016-04-22 28 views
0

表下已要求我..多少映射器在蜂巢用於處理1GB

如果有10個節點和1GB的表是需要在蜂箱處理。那麼使用多少個映射器?

+0

這是一個謎題? – YoungHobbit

+0

這是我在訪談中提出的問題之一......它取決於表的配置方式,文件格式以及HDFS的配置方式。 –

+0

Roberto感謝您的回覆,您能對此進行更簡要的介紹嗎?非常感謝 – user1999758

回答

1

如何確定mappers的數量?

與減速器的數量相比,確定映射器的數量相對容易,但難度較大。 可以如下確定映射器的數量: 首先確定輸入文件是否可拆分。 GZipped文件和其他一些壓縮文件本質上不能被Hadoop分割。普通的文本文件,JSON文檔等是可拆分的。

如果文件是可分開:

  1. 計算輸入文件的總大小。
  2. 映射器的數量=上面計算的總大小/ Hadoop配置中定義的輸入分割大小。 例如,如果輸入的總大小爲1GB,輸入分割大小設置爲128 MB,則: 映射器數量= 1 x 1024/128 = 8映射器。

如果文件不分割型:

  1. 在此情況下映射器的數目等於輸入的文件數。

另外,fileformat也起着作用。

+0

Hi Nidhin,因爲它是Hive(HDFS)表。我認爲,分裂已經完成了。與hadoop一起工作時,最好說'分割數=映射器數量'。但它在Hive中有效? – user1999758