我们正在与MongoDB和Amazon EMR合作开发概念验证。我们已经能够获得一个简单的端到端解决方案,它可以从mongo中的一个集合中读取数据,执行map / reduce函数,然后将输出写入Mongo中的另一个集合。
我的问题是 - 是否可以从Mongo中读取其他用于查找目的的集合。即,collection1中的所有数据都将对其执行map / reduce函数,但map / reduce函数将使用collection2和collection3中的数据进行查找。
如果这不可能 - 那么将查找数据导入hadoop以便将其用于查找目的的最佳方法是什么?
答案 0 :(得分:0)
可以在Map-Reduce过程中查找外部资源。但是..
另一种方法是使用Hadoop's caching mechanism。因此,您需要将数据导出到Hadoop集群(hdfs://...
)上的文件中。每个作业只读取一次数据并复制到从属节点。如果这是一个很好的选择,取决于文件的大小以及数据的最新状态。