基本的に必要なのは「出力フォーマットクラス」を変更することであり、そこにはいくつかの方法があります。
- Hadoop用のMongoDBコネクタを使用 : http://docs.mongodb.org/ecosystem/tools / hadoop/?_ga=1.111209414.370990604.1441913822
- 独自のOutputFormatを実装します : https://hadoop。 apache.org/docs/r2.7.0/api/org/apache/hadoop/mapred/OutputFormat.html (代わりにFileOutputFormatを使用します)。
- レデューサー内でmongodbクエリを実行 代わりに、MapREduceコンテキストで書き込みます(ニースではありません。ドライバーで指定されたOutputFormatによっては、HDFSで空のoututファイルで終了する可能性があります)
私の意見では、オプション1が最良のオプションですが、MongoDBコネクターを使用して、十分に安定して機能しているかどうかを判断していません。オプション2では、多くのオープン接続やトランザクションおよびHadoopタスクの再試行に関する問題で終了しないように、Hadoopアンダーフードがどのように機能しているかを実際に理解する必要があります。