Основно това, от което се нуждаете, е да промените „класа на изходния формат“ и имате няколко начина там:
- Използвайте MongoDB конектор за Hadoop :http://docs.mongodb.org/ecosystem/tools /hadoop/?_ga=1.111209414.370990604.1441913822
- Приложете свой собствен Изходен формат :https://hadoop. apache.org/docs/r2.7.0/api/org/apache/hadoop/mapred/OutputFormat.html (Вместо да използвате FileOutputFormat).
- Изпълнете mongodb заявки вътре в редуктора вместо да пишете в контекста на MapREduce (Не е хубаво, можете да завършите с празни изходящи файлове в HDFS в зависимост от OutputFormat, указан в драйвера)
Според мен вариант 1 е най-добрият вариант, но не съм използвал MongoDB конектор, за да кажа дали е достатъчно стабилен и функционален. Вариант 2 изисква наистина да разберете как работи hadoop underhood, за да избегнете края с много отворени връзки и проблеми с транзакции и повторни опити за hadoop задачи.