Mapreduce 缩放Oozie Map Reduce作业:拆分成更小的作业是否会减少总体运行时和内存使用?

Mapreduce 缩放Oozie Map Reduce作业:拆分成更小的作业是否会减少总体运行时和内存使用?,mapreduce,distributed-computing,oozie,apache-crunch,bigdata,Mapreduce,Distributed Computing,Oozie,Apache Crunch,Bigdata,我有一个Oozie工作流,它在集群上的特定队列中运行Map reduce作业 我必须向该作业添加更多的输入源/客户端,因此该作业处理的数据将是现在的n倍 我的问题是,如果不是让一个大作业来处理所有数据,而是将其分解为多个作业,每个源一个,我是否会减少这些作业完成所需的总时间 我知道Mapreduce将一个作业分解为多个小作业,并将它们分布在网格中,因此一个大作业应该与多个小作业相同 此外,队列中的容量分配是在“每个用户”的基础上进行的[1],因此,无论在一个用户下提交多少个作业,分配给该用户的容

我有一个Oozie工作流,它在集群上的特定队列中运行Map reduce作业

我必须向该作业添加更多的输入源/客户端,因此该作业处理的数据将是现在的n倍

我的问题是,如果不是让一个大作业来处理所有数据,而是将其分解为多个作业,每个源一个,我是否会减少这些作业完成所需的总时间

我知道Mapreduce将一个作业分解为多个小作业,并将它们分布在网格中,因此一个大作业应该与多个小作业相同

此外,队列中的容量分配是在“每个用户”的基础上进行的[1],因此,无论在一个用户下提交多少个作业,分配给该用户的容量都是相同的。还是我遗漏了什么

那么,如果将我的工作分解成更小的工作,我的工作真的会运行得更快吗

谢谢


[1]

我假设,“较小的作业”意味着工作流中的map reduce操作更多。如果您当前的map reduce能够使用添加的新数据水平缩放,那么您无需执行任何操作。其他您可以使用其他map reduce操作处理其他数据。我猜您应该在Fork-Join下定义这些操作以并行执行它们。谢谢。我是说更多oozie工作流或更多工作流操作。示例:一个作业处理100条记录,而10个作业并行处理10条记录。正如你所建议的,我也认为两者应该是相同的。但我想确保,特别是在队列中的资源竞争方面。