私は通常、共通/共有ライブラリと実際のジョブ コードを異なる jar ファイルに格納しています。1 つのジョブ jar ファイルのみを再コンパイルして、hadoop コマンドを実行することはできますhadoop jar asd
か? そうでない場合、jar パッケージを簡素化するための回避策はありますか?
質問する
196 次
2 に答える
1
Ant を使用してジョブ jar を作成しています。すべての共通/共有ライブラリを buildConfig.xml ファイルに含めるには、次の行を追加する必要があります。
<zipgroupfileset dir="pathToAllCommonAndSharedLibraries" includes="**/*.jar" />
ビルド構成ファイルの最も単純な例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<project name="Example.makejar" default="jar" basedir=".">
<target name="jar">
<jar destfile="Example.jar" basedir="bin">
<manifest></manifest>
<zipgroupfileset dir="pathToAllCommonAndSharedLibraries" includes="**/*.jar" />
</jar>
</target>
</project>
于 2012-06-06T12:54:24.100 に答える
0
これに対する Hadoop サポートについてはよくわかりませんが、後で質問しますが、回避策は次のとおりです。maven を使用してジョブ プロジェクトをビルドする場合は、maven シェード プラグインまたは maven アセンブリ プラグインを使用して、すべての依存関係を jar ファイルに埋め込みます。 1 つのファイルのみを展開するようにします。
于 2012-06-06T08:26:35.490 に答える