7

我已经阅读了文档,所以我知道其中的区别。

然而,我的问题是,如果我想在集群上并行运行多个 Hadoop 作业,使用.submit而不是有任何风险吗?.waitForComplete

我主要使用 Elastic Map Reduce。

当我尝试这样做时,我注意到只有第一个作业正在执行。

4

1 回答 1

4

如果您的目标是并行运行作业,那么使用job.submit(). 存在的主要原因job.waitForCompletion是它的方法调用仅在作业完成时返回,并且返回成功或失败状态,可用于确定是否要运行进一步的步骤。

现在,回到您只看到第一个正在执行的作业,这是因为默认情况下 Hadoop 按 FIFO 顺序安排作业。你当然可以改变这种行为。在这里阅读更多。

于 2013-05-23T19:46:57.913 回答