0

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

我必须为这项工作添加更多的输入源/客户端,所以这项工作将处理比现在多 n 倍的数据。

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

我知道 Mapreduce 无论如何都会将一项工作分解为较小的工作并将它们分散到整个网格中,因此一个大工作应该与多个小工作相同。

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

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

谢谢。

[1] https://hadoop.apache.org/docs/r1.2.1/capacity_scheduler.html#Resource+allocation

4

0 回答 0