我已阅读文档,所以我知道其中的差异。
我的问题是,如果我想在群集上并行运行多个Hadoop作业,是否存在使用.submit而不是waitForComplete的风险?
我大多使用弹性贴图减少。
当我尝试这样做时,我注意到只有第一份工作被执行。
答案 0 :(得分:2)
如果你的目标是并行运行工作,那么使用job.submit()
肯定没有风险。 job.waitForCompletion
存在的主要原因是它的方法调用仅在作业完成时返回,并返回其成功或失败状态,可用于确定是否要运行其他步骤。
现在,回过头来看你只看到第一个被执行的作业,这是因为默认情况下Hadoop按FIFO顺序安排作业。你当然可以改变这种行为。阅读更多here。