Ich habe ein Shell-Skript, das sqoop job
ausführt. Das Skript ist unten.sqoop Job-Shell-Skript parallel in Oozie ausführen
Jetzt, wenn ich den Tabellennamen im Workflow übergeben, bekomme ich den shoop Job erfolgreich ausgeführt werden.
Der Workflow ist unten.
<workflow-app name="Shell_script" xmlns="uri:oozie:workflow:0.5">
<start to="shell"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="shell_script">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>sqoopjob.sh</exec>
<argument>test123</argument>
<file>/user/oozie/sqoop/lib/sqoopjob.sh#sqoopjob.sh</file>
</shell>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
</workflow-app>
Der Job wird erfolgreich für Tabelle test123
ausgeführt.
Jetzt habe ich 300 sqoop Jobs gleich wie oben. Ich möchte 10 sqoop Jobs parallel ausführen. Alle Tabellennamen befinden sich in einer einzigen Datei.
Jetzt möchte ich auf die Datei und 10 sqoop Jobs für die ersten 10 Tabellen ausführen und so weiter.
Wie kann ich das tun? soll ich 10 Workflows vorbereiten? Ich bin buchstäblich verwirrt.
Nun, in der Theorie, Sie alles, was in einem Shell-Skript tun können; keine Notwendigkeit für einen Scheduler wie Oozie. Es wäre ein bisschen grob und ein wenig schwierig, die parallelen Ausführungen zu koordinieren, aber auf der anderen Seite war Oozie auch nicht dazu gedacht, Hunderte von Mikro-Jobs zu verwalten ... und Oozie unterstützt überhaupt keine Art von Schleife. –
@SamsonScharfrichter Also, wie Sie gesagt haben, können wir das in Oozie erreichen? ist das richtig. Wenn ja, wie können wir es tun? – User12345
Was? Zitieren selbst: _ "Sie können all das in einem ** Shell-Skript **" _ –