hdfsにコピーした共有ライブラリがあります
/user/uokuyucu/lib/libxxx.so
そしてWordCount.java
、チュートリアルからの同一のコードに加えて、次のように変更されたコンストラクター以外には何も含まれていない独自のFileInputFormat
クラスが呼び出されています。MyFileInputFormat
public MyInputFileFormat() {
System.loadLibrary("xxx");
}
また、ジョブのセットアップ (メイン) で次のように、共有ライブラリを分散キャッシュに追加しています。
DistributedCache.addCacheFile(new URI("/user/uokuyucu/lib/libxxx.so"),
job.getConfiguration());
私はそれを次のように実行します。
hadoop jar mywordcount.jar mywordcount.WordCount input output
java.lang.UnsatisfiedLinkError: no far_jni_interface in java.library.path
そして例外を得ました。
Hadoop ジョブで共有ライブラリをロードするにはどうすればよいですか?