V podstatě to, co potřebujete, je změnit "třídu výstupního formátu" a máte několik způsobů:
- Použijte konektor MongoDB pro Hadoop :http://docs.mongodb.org/ecosystem/tools /hadoop/?_ga=1.111209414.370990604.1441913822
- Implementujte svůj vlastní OutputFormat :https://hadoop. apache.org/docs/r2.7.0/api/org/apache/hadoop/mapred/OutputFormat.html (Místo toho použijte FileOutputFormat).
- Provádět mongodb dotazy uvnitř reduktoru místo toho psát v kontextu MapREduce (Není to hezké, můžete skončit s prázdnými výstupními soubory v HDFS v závislosti na OutputFormat zadaném v ovladači)
Podle mého názoru je možnost 1 nejlepší možností, ale nepoužil jsem konektor MongoDB, abych řekl, zda je dostatečně stabilní a funkční. Možnost 2 vyžaduje, abyste skutečně rozuměli tomu, jak funguje hadoop v podsvětí, abyste se vyhnuli konci se spoustou otevřených spojení a problémů s transakcemi a opakováním úloh hadoop.