sql >> データベース >  >> NoSQL >> MongoDB

出力としてmongoDBのmapReduceを使用してhdfsから処理されたデータを保存する方法

    基本的に必要なのは「出力フォーマットクラス」を変更することであり、そこにはいくつかの方法があります。

    1. Hadoop用のMongoDBコネクタを使用 http://docs.mongodb.org/ecosystem/tools / hadoop/?_ga=1.111209414.370990604.1441913822
    2. 独自のOutputFormatを実装します : https://hadoop。 apache.org/docs/r2.7.0/api/org/apache/hadoop/mapred/OutputFormat.html (代わりにFileOutputFormatを使用します)。
    3. レデューサー内でmongodbクエリを実行 代わりに、MapREduceコンテキストで書き込みます(ニースではありません。ドライバーで指定されたOutputFormatによっては、HDFSで空のoututファイルで終了する可能性があります)

    私の意見では、オプション1が最良のオプションですが、MongoDBコネクターを使用して、十分に安定して機能しているかどうかを判断していません。オプション2では、多くのオープン接続やトランザクションおよびHadoopタスクの再試行に関する問題で終了しないように、Hadoopアンダーフードがどのように機能しているかを実際に理解する必要があります。




    1. マングース:過去7日間のアップロードデータ統計をDBから取得するにはどうすればよいですか?

    2. マングースによる多対多のマッピング

    3. nodejs-native-mongodbと同等のrunCommand

    4. ノードredisパブリッシャーがメモリを消費しすぎています