将数据从MongoDB发送到Hadoop的有效方法是什么?

时间:2014-01-07 09:19:55

标签: mongodb hadoop

我正在与一位同事讨论使用MongoDB连接器进行Hadoop的问题,他解释说这是非常低效的。他说,MongoDB连接器利用自己的map reduce,然后使用Hadoop map reduce,这会减慢整个系统的速度。

如果是这种情况,将数据传输到Hadoop集群的最有效方法是什么?如果效率更低,MongoDB连接器的用途是什么?在我的场景中,我想从MongoDB获取每日插入的数据(大约10MB左右)并将其全部放入Hadoop。我还应该补充说,每个MongoDB节点和Hadoop节点都共享同一台服务器。

2 个答案:

答案 0 :(得分:2)

MongoDB Connector for Hadoop直接从MongoDB读取数据。您可以配置多个input splits以并行读取同一集合中的数据。 Mapper和Reducer作业由Hadoop的Map / Reduce引擎运行,而不是MongoDB的Map / Reduce。

如果你的数据估计是正确的(每天只有10MB?),这是一个很小的摄取数量,如果你没有计算任何输入分割,工作可能会更快。

您应该警惕Hadoop和MongoDB在同一台服务器上竞争资源,因为争用内存或磁盘会影响数据传输的效率。

答案 1 :(得分:0)

要将数据从Mongodb传输到Hadoop,您可以使用一些 ETL工具,如Talend或Pentaho,它更加简单实用!祝好运 !

相关问题