我和一位同事讨论了MongoDB连接器在Hadoop中的使用问题,他解释说这是非常低效的。他说,MongoDB连接器使用它自己的映射减少,然后使用Hadoop映射减少,这在内部减缓整个系统。
如果是这样,那么将我的数据传输到Hadoop集群的最有效方法是什么?如果MongoDB连接器效率更低,它有什么用途?在我的场景中,我希望从MongoDB (大约10 my )获取每日插入的数据,并将其全部放入Hadoop中。我还应该指出,每个MongoDB节点和Hadoop节点都共享相同的服务器。
发布于 2014-01-07 13:55:57
Hadoop的MongoDB连接器直接从MongoDB读取数据。您可以配置多个输入分裂来并行读取同一集合中的数据。Mapper和Reducer作业由Hadoop的Map/Reducer引擎运行,而不是MongoDB的Map/Reducer。
如果数据估计是正确的(每天只有10 is?)这是一个很小的摄入量,如果没有计算任何输入分割,任务可能会更快。
您应该警惕Hadoop和MongoDB在同一台服务器上争夺资源,因为争夺内存或磁盘会影响数据传输的效率。
发布于 2015-04-26 19:09:01
要将您的数据从Mongodb传输到Hadoop,您可以使用一些ETL工具,比如Talend或Pentaho,它更简单、更实用!祝你好运!
https://stackoverflow.com/questions/20967836
复制相似问题