1

ネイティブ Hadoop 圧縮コーデックを作成しました。Hadoop で動作させるには、ネイティブ (C コード) を libhadoop.so にコンパイルする必要があります。

どうすればこれを達成できますか?

4

1 に答える 1

0

これを libhadoop.so にコンパイルする必要はありません。

  • 独自の .so をコンパイルし、クラスター ノードに配布します (現在の libhadoop.so と同じディレクトリに)。
  • 独自の CompressionCodec (GzipCodec に類似) も作成したと仮定します。このコードに静的ブロックを追加して、System.loadLibrary("mylibrary");(libmylibrary.so という名前のライブラリの場合) を使用してライブラリをロードしようとします。
  • クラスター構成を修正して、新しい圧縮コーデック クラスをコーデックの登録済みリストに含めます (io.compression.codecs構成プロパティを修正します)。
  • タスクトラッカーを再起動します

参考として、Google Snappy コーデックの実装と構成に関する注意事項に従うことができます。

于 2012-04-24T10:45:54.160 に答える