2016-12-29 69 views
0

需要對Hadoop羣集中特定作業的映射器估計進行一些說明。根據我的理解,mapper的數量取決於處理的輸入分割。但是,如果我們要處理已存在於HDFS中的輸入數據,就是這種情況。在這裏,我需要澄清由SQOOP作業觸發的映射器和縮減器。 PFB ..羣集的映射器估計

  1. 如何映射器計數估計有專門的集羣,基於RAM或者基於輸入分割/塊?(一般情況下)

  2. 如何映射器計數估計爲sqoop工作基於輸入大小從RDBMS到HDFS檢索數據?(Sqoop爲主)

  3. 什麼是核CPU的意思,它是如何影響可並行運行映射器的計數?(Genaral)

謝謝。

+0

1.映射器數量不被計數基於羣集大小或RAM大小。它由輸入分割的數量自動確定。 2.映射器的數量 - sqoop語法中的m(n)參數可以根據RDBMS表大小和所需的列大小確定。 3. CPU與映射器的計數無關 請閱讀本Hortonworks Data Platform:Cluster規劃指南 :https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_cluster-planning-guide/bk_cluster-planning-guide-20150721.pdf –

回答

0

需要對Hadoop集羣中特定作業的映射器估算進行一些說明。根據我的理解,mapper的數量取決於處理的輸入分割。但是,如果我們要處理已存在於HDFS中的輸入數據,就是這種情況。在這裏,我需要澄清由SQOOP作業觸發的映射器和縮減器。 PFB ..

  1. 如何映射器計數估計有專門的集羣,基於RAM或者基於輸入分割/塊(一般情況下)

?答案是:不,它已經沒有任何關係RAM大小。這一切都取決於輸入分割的數量。

  • 如何映射器計數估計要sqoop作業基於輸入大小從RDBMS到HDFS檢索數據(Sqoop基於)
  • 答案:默認Sqoop作業的映射器數量爲4.您可以使用-m(1,2,3,4,5 ...)或--num-mappers參數更改默認值,但是您必須確保無論您在你的數據庫中有主鍵或者你正在使用-split-by參數,否則將只有一個映射器在運行,你必須明確地說-m 1.

    1. 什麼意思核心(一般)

    回答:CPU內核是可以運行任務的處理單元。當你說4核心處理器,這意味着它可以一次運行4個任務。核心數量不參與mapreduce框架計算mappers的數量。但是如果有4個核心,並且mapreduce計算映射器的數量是12,那麼一次有4個映射器將並行運行,然後其餘部分將連續運行。

    +0

    謝謝!得到了我正在尋找什麼的清晰圖片... – Ramyaa

    +0

    @Ramyaa請接受我的回答,如果它解決了您的查詢,請投票。謝謝 –

    1
    1. 如何映射器計數估計有專門的集羣,基於RAM或者基於輸入分割/塊?(一般情況下)

      你是對的。 映射器的數量通常基於輸入中的DFS塊的數量。

    2. 如何映射器計數估計爲sqoop工作基於輸入大小從RDBMS到HDFS檢索數據?(Sqoop爲主)

      默認情況下,Sqoop將使用四個任務並行導入/導出數據。

      您可以使用-m <number of mappers>選項更改此選項。 參見:Sqoop parallelism

    3. 什麼是核CPU的意思,它是如何影響可並行運行映射器的數量(一般)

      CPU cores的處理單元。簡而言之,「核心越多越好」,也就是說,如果我們有更多核心,它可以更平行地處理。

      實施例:(!理論上)如果有4個核,4名映射器可以並行地運行