0

私はHadoopでJavaMapReduceプログラムを作成していますが、すべてのレデューサーは静的XMLファイル(値リストへのルールの適用に関するビジネスロジックを含む)にアクセスできる必要があります。このファイルを分散キャッシュに保存し、分散キャッシュAPIを利用して、すべてのレデューサー内でファイルにアクセス(シリアル化)することにしました。私はまだこれを実装していませんが、HDFS /分散モードでこの機能を使用することになると、APIは簡単に思えます。ただし、テスト目的で疑似分散スタンドアロンモードで使用することはできますか?それはどのように機能しますか?

また、すべてのレデューサーでファイルをシリアル化するのは悪い考えですか?「グローバル静的データ」をレデューサーに配布する他の方法についての提案を募集しています。

ありがとう!

4

1 に答える 1

1

はい、できます。実際のクラスターの場合と同じように機能します。

修正されていない場合は、分散キャッシュを使用することをお勧めします。もう1つの方法は、そのデータをジョブのコードを含むjarにパックすることです。その場合、XMLを変更する必要がある場合はそれほど柔軟ではありません(jarを変更することはできますが、それを実行するためのクリーンな方法ではありません)。 )。

于 2012-06-06T09:48:20.180 に答える