2013-05-22 7 views
5

Ich habe die Dokumentation gelesen, damit ich den Unterschied kenne.Was ist der Unterschied zwischen job.submit und job.waitForComplete in hadoop?

Meine Frage ist jedoch, gibt es ein Risiko bei der Verwendung von .Submit anstelle von WaitForComplete, wenn ich mehrere Hadoop-Jobs auf einem Cluster parallel ausführen möchte?

Ich verwende meistens elastische Karte reduzieren.

Als ich das versuchte, bemerkte ich, dass nur der erste Job ausgeführt wurde.

Antwort

2

Wenn Sie Jobs parallel ausführen möchten, besteht kein Risiko bei der Verwendung von job.submit(). Der Hauptgrund job.waitForCompletion besteht darin, dass der Methodenaufruf nur zurückkehrt, wenn der Job beendet wird, und mit seinem Erfolgs- oder Fehlerstatus zurückkehrt, mit dem bestimmt werden kann, ob weitere Schritte ausgeführt werden sollen oder nicht.

Wenn Sie nun nur den ersten ausgeführten Job sehen, liegt dies daran, dass Hadoop die Jobs standardmäßig in FIFO-Reihenfolge plant. Sie können dieses Verhalten sicherlich ändern. Lesen Sie mehr here.

Verwandte Themen