oozie java アクション で jar に classpath を通す方法

file 要素を使う。# でシンボリックリンクを貼ると、child process の実行ディレクトリにシンボリックリンクが作成されるだけで、クラスパスは通らない。
archive要素を使うと、jar が解凍されてしまうようで、ダメ。

おまけ

javaアクションでcascadingジョブを実行する際、file要素に指定すると共に、java-opts 要素で cp オプション(./hoge.jar)をつけていたら、なぜかアプリの jar が tasktracker に配られず、class not found になってしまった。cp オプションは使わず、file 要素に指定するだけにすべし。

おまけ2

mapreduce では、アプリやアプリが参照しているライブラリを job.jar というファイルにして tasktracker に配っているらしい。
job.jar のパスは mapred.jar という conf に設定されるらしい(設定されていない場合もある。詳しいことはよく分からじ)。