Hadoop 如何在mapreduce作业中获得适当大小的输入拆分
我在基于Hortonworks的Microsoft HDInsight中从事仅地图的MR工作。我的输入数据大约为1GB,块大小为128MB 当我在不设置分割大小的情况下运行作业时,我的输入数据被分成两个分割,映射任务的数量也是2。这需要很长时间,所以我想通过增加地图任务的数量来加快这个过程 我通过设置Hadoop 如何在mapreduce作业中获得适当大小的输入拆分,hadoop,mapreduce,azure-hdinsight,Hadoop,Mapreduce,Azure Hdinsight,我在基于Hortonworks的Microsoft HDInsight中从事仅地图的MR工作。我的输入数据大约为1GB,块大小为128MB 当我在不设置分割大小的情况下运行作业时,我的输入数据被分成两个分割,映射任务的数量也是2。这需要很长时间,所以我想通过增加地图任务的数量来加快这个过程 我通过设置mapreduce.input.fileinputformat.split.minsize和mapreduce.input.fileinputformat.split.minsize的值来设置拆分的
mapreduce.input.fileinputformat.split.minsize
和mapreduce.input.fileinputformat.split.minsize
的值来设置拆分的数量
首先,我将我的分割数设置为8,此作业所消耗的时间为35分钟。然后我将其设置为16和64,所消耗的时间分别为21分钟和16分钟
但是当我将splits设置为128时,这个工作所消耗的时间从16分钟增加到了18分钟
我的问题是:
1:为什么地图任务越多,时间越长?我知道实例化map类需要一些时间,但还有其他原因吗
2:有没有办法决定最合适的分割大小
多谢各位
我的输入文件是没有“.txt”的文本文件