MQ を監視して受信メッセージを監視し、map/reduce ジョブを Hadoop に送信する、ある種の「ブートストラップ」クラスを作成したいと考えています。これらのジョブは、一部の外部ライブラリを頻繁に使用します。現時点では、これらのジョブの実装があり、bin、lib、および log フォルダーを含む ZIP ファイルとしてパッケージ化されています (すべてを結合するために maven-assembly-plugin を使用しています)。
ここで、既存のアプリケーションの一部を使用する Mapper と Reducer の小さなラッパーを提供したいと思います。
私が知る限り、ジョブが送信されると、Hadoop はマッパー/リデューサー クラスを持つ JAR ファイルを見つけようとし、この jar ファイルをネットワーク経由でデータ ノードにコピーします。データ ノードはデータの処理に使用されます。しかし、Hadoop にすべての依存関係をコピーするように指示する方法は明確ではありません。
maven-shade-plugin を使用して、ジョブと依存関係を含む uber-jar を作成し、ブートストラップ用の別の jar (hadoop シェル スクリプトで実行される jar) を作成できます。
ご意見をお聞かせください。