2016-12-29 44 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名映射器可以并行地运行