2012-03-15 10 views
1

分散キャッシュにhdfsに格納された一連の依存関係を追加しようとしています。私はこの記事のアドバイスに従っています:http://www.datasalt.com/2011/05/handling-dependencies-and-configuration-in-java-hadoop-projects-efficiently/。私の質問です:クラスパスに依存関係を含むフォルダを追加することは可能ですか?分散キャッシュを使用してHadoopにファイルのディレクトリを追加しますか?

DistributedCache.addFileToClassPath(new Path("/tmp/lib/"), job.getConfiguration()); 

個々の依存関係を個別に追加する必要がありますか?

for (Path dependency : dependencies) { 
    DistributedCache.addFileToClassPath(dependency, job.getConfiguration()); 
} 

そして、すべてのスレーブノードのクラスパスに依存関係が実際に追加されたことを確認するにはどうすればよいですか?

ありがとうございました。

答えて

0

あなたが示唆したように、ジャーを一度に1つずつ繰り返して追加する必要があります。または、jarを1つのzipファイルにバンドルして、DistributedCache.addArchiveToClassPath(Path, Configuration)メソッドを使用することもできます。

これらがクラスパスに追加されたことを確認するには、マッパー/レデューサーの設定方法でシステムプロパティjava.class.pathを調べてみてください。

関連する問題