估计群集的映射器

时间:2016-12-29 05:23:45

标签: hadoop mapreduce sqoop

需要对Hadoop集群中特定作业的映射器估计进行一些说明。根据我的理解,映射器的数量取决于处理所需的输入分割。但是,如果我们要对已存在于HDFS中的输入数据进行处理,则会出现这种情况。在这里,我需要澄清由SQOOP作业触发的映射器和减速器。 PFB ..

  1. 如何根据RAM或基于输入分组/块来估算专用群集的映射器数量?(一般情况下)

  2. 如何根据输入大小估算一个sqoop作业用于从RDBMS到HDFS检索数据的映射器数量?(基于Sqoop)

  3. 核心CPU是什么意思以及它如何影响可并行运行的映射器的数量?(Genaral)

  4. 感谢。

2 个答案:

答案 0 :(得分:1)

  1. 如何根据RAM或基于输入分组/块来估算专用群集的映射器数量?(一般情况下)

    你是对的。 映射器数通常基于输入中的DFS块数。

  2. 如何根据输入大小估算sqoop作业的映射计数,以便从RDBMS到HDFS检索数据?(基于Sqoop)

    默认情况下,Sqoop将并行使用四个任务来导入/导出数据。

    您可以使用-m <number of mappers>选项更改此设置。  参阅:Sqoop parallelism

  3. 核心CPU是什么意思以及它如何影响可并行运行的映射器的数量?(一般)

    CPU cores是处理单元。用简单的话来说,“更多的核心越多越好。”#34;,即如果我们有更多核心,它可以更平行地处理。

    示例:如果您有4个核心,则4个映射器可以并行运行。(理论上!)

答案 1 :(得分:0)

需要对Hadoop集群中特定作业的映射器估计进行一些说明。根据我的理解,映射器的数量取决于处理所需的输入分割。但是,如果我们要对已存在于HDFS中的输入数据进行处理,则会出现这种情况。在这里,我需要澄清由SQOOP作业触发的映射器和减速器。 PFB ..

  1. 如何根据RAM或基于输入分割/块来估算专用群集的映射器数量?(一般情况下)
  2. 回答:不,它与RAM大小无关。这一切都取决于输入分割的数量。

    1. 如何根据输入大小估算用于从RDBMS到HDFS检索数据的sqoop作业的映射计数?(基于Sqoop)
    2. 回答:默认情况下,Sqoop作业的映射器数量为4.您可以使用-m(1,2,3,4,5 ...)或--num-mappers参数更改默认值,但是你必须确保你在db中有主键,或者你正在使用-split-by参数,否则只会运行一个mapper,你必须明确地说-m 1。

      1. 核心CPU是什么意思以及它如何影响可并行运行的映射器的数量?(一般)
      2. 回答:CPU中的核心是可以运行任务的处理单元。当你说4核心处理器,这意味着它一次可以运行4个任务。核心数量不参与mapreduce框架计算映射器的数量。但是如果有4个内核并且mapreduce计算出映射器的数量是12,那么一次4个映射器将并行运行,之后其余的将连续运行。