我正在重写 MongoDB map reduce 作业以改用 Hadoop(使用 mongo-hadoop 连接器),但是当我将两个数据集映射到同一个集合时,它会覆盖值而不是使用它们
{ reduce : "collectionName" } - 如果结果集中和旧集合中的给定键存在文档,则将对这两个值执行归约操作(使用指定的归约函数)并将结果写入输出集合。如果提供了 finalize 函数,这也将在 reduce 之后运行。
如何使用 mongo-hadoop 完成?
Mongo-Hadoop 目前只支持覆盖目标集合。但是,可以将多个作业链接在一起,允许您将 MR 输出发送到一个新作业中,该作业也从旧集合中读取。
对于其他寻找此功能的人,即将推出对多输入的支持。
更改的分支位于此处。它做得很好,我们正在生产中使用它。