Mapreduce 9 GB数据的映射程序数量非常少

Mapreduce 9 GB数据的映射程序数量非常少,mapreduce,apache-pig,yarn,hadoop2,Mapreduce,Apache Pig,Yarn,Hadoop2,我有9GB的数据,其中有很多小于64MB块大小的小文件。我的群集级块设置为512 MB。但我已经用64MB的块设置单独复制了这些数据。当我以64 MB的作业级别hadoop块大小运行我的pig脚本时,它为此作业分配了20个映射器。我还验证了job.xml的块大小设置为64MB。当我重新执行集群级别设置为64MB的pig脚本时,它会分配160个映射器 我关心的是,当我在作业级别设置它时,为什么它只分配20个映射器。有什么主意吗?你们有pig.maxCombinedSplitSize套装吗?如果是这

我有9GB的数据,其中有很多小于64MB块大小的小文件。我的群集级块设置为512 MB。但我已经用64MB的块设置单独复制了这些数据。当我以64 MB的作业级别hadoop块大小运行我的pig脚本时,它为此作业分配了20个映射器。我还验证了job.xml的块大小设置为64MB。当我重新执行集群级别设置为64MB的pig脚本时,它会分配160个映射器


我关心的是,当我在作业级别设置它时,为什么它只分配20个映射器。有什么主意吗?

你们有
pig.maxCombinedSplitSize
套装吗?如果是这样,它将在执行之前将小文件合并到该大小。@brandon.bell我还没有设置该属性。但是,当在作业级别和集群级别设置块大小时,为什么映射器的数量会有所不同呢?必须在这两种情况下分配相同数量的映射程序,对吗?为了澄清,您已经将9GB的数据设置为使用64MB的块?获得的贴图器数量取决于拆分的数量。但是,如果Pig.splitcomposition设置为true(默认值),Pig会对文件进行一些组合。@brandon.bell是的,我已复制了块大小为64 MB的9 GB数据。在这两种情况下,清管器将合并输入。但是为什么拆分在案例1中不同:在作业级别将块大小设置为64 MB案例2:在集群级别将块大小设置为64 MB。它不使用作业级别中设置的块大小吗?