我已经阅读了文档,所以我知道其中的区别。
然而,我的问题是,如果我想在集群上并行运行多个 Hadoop 作业,使用.submit
而不是有任何风险吗?.waitForComplete
我主要使用 Elastic Map Reduce。
当我尝试这样做时,我注意到只有第一个作业正在执行。
我已经阅读了文档,所以我知道其中的区别。
然而,我的问题是,如果我想在集群上并行运行多个 Hadoop 作业,使用.submit
而不是有任何风险吗?.waitForComplete
我主要使用 Elastic Map Reduce。
当我尝试这样做时,我注意到只有第一个作业正在执行。
如果您的目标是并行运行作业,那么使用job.submit()
. 存在的主要原因job.waitForCompletion
是它的方法调用仅在作业完成时返回,并且返回成功或失败状态,可用于确定是否要运行进一步的步骤。
现在,回到您只看到第一个正在执行的作业,这是因为默认情况下 Hadoop 按 FIFO 顺序安排作业。你当然可以改变这种行为。在这里阅读更多。