2017-04-09 33 views
0

私は、YARNクラスタにMR(SparkベースのJavaの場合)ジョブを送信する正しい方法は何かを理解しようとしています。クライアント・マシンを使用してジョブが外部ジャーに依存しているYARNクラスターにジョブをサブミットする正しい方法?

コード(MRまたはスパーク)ジョブを開発し、コードがサードパーティのjarファイルのを使用して言う:

は、以下の状況が考えてみましょう。今、開発者がジョブをYARNクラスターに提出しなければならない場合、クラスが見つからないというランタイム例外がないように、クラスターにジョブをサブミットする正しい方法は何か。ジョブはjarファイルとして送信されるため、開発者はサードパーティ製のjarファイルをどのように「置く」ことができますか?

私はこれを理解するのが難しいです、誰も私がこれを理解するのを助けることができますか?

答えて

2

コンパイルされたコードだけでなくすべての推移的な依存関係も含んだ "fat jar"をGradleまたはMavenで単純に構築する必要があります。

Maven Assembly PluginまたはShadow PluginのようなGradleプラグインのいずれかを使用できます。

これらの出力は​​に入力する必要があります。

+0

返信いただきありがとうございます。これは「uber jar」と呼ばれていますか?それで、瓶には瓶が入っていますか?それは "依存関係"クラスまたはjarをパッケージ化しますか? – CuriousMind

+1

はい、Uber Jarは脂肪質の瓶を言うという派手な言葉です。 –

+1

はい、 "uber jar"は "fat jar"の別の用語です。そして、あなたが本当にやりたくないカスタムの 'ClassLoader'コードを書こうとしない限り、すべてを展開する必要があります。 – Vidya

関連する問題