Oozie 3 の時点で (Oozie 4 はまだ試していません)、主な質問に対する答えは次のとおりです。oozie.launcher.action.main.class
プロパティで定義されたメイン クラスに引数を指定するための (奇妙なことに) 機能はありません。
Oozie java アクションのみを使用するというコメント内の @Dmitry の提案は、Oozie がジョブの起動時にすべての Hadoop jar をクラスパスに配置するため、Cascading ジョブ (または任意の Hadoop 依存ジョブ) で機能します。
私のブログで、Oozie からカスケーディング ジョブを起動する実際の例を文書化しました。
これが私のために働いたworkflow.xmlファイルです:
<workflow-app xmlns='uri:oozie:workflow:0.2' name='cascading-wf'>
<start to='stage1' />
<action name='stage1'>
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<main-class>com.mycompany.MyCascade</main-class>
<java-opts></java-opts>
<arg>/user/myuser/dir1/dir2</arg>
<arg>my-arg-2</arg>
<arg>my-arg-3</arg>
<file>lib/${EXEC}#${EXEC}</file>
<capture-output />
</java>
<ok to="end" />
<error to="fail" />
</action>
<kill name="fail">
<message>FAIL: Oh, the huge manatee!</message>
</kill>
<end name="end"/>
</workflow-app>
workflow.xml に付随するjob.properties
ファイルでは、EXEC プロパティが次のように定義されています。
EXEC=mybig-shaded-0.0.1-SNAPSHOT.jar
ジョブは、これら 2 つの定義ファイルがある lib ディレクトリの下に配置されます。