mongodb - 如何使MapReduce与HDFS一起使用

标签 mongodb hadoop mapreduce

这听起来像是一个愚蠢的问题。
我可能会编写一个可以将输入和输出作为HDFS位置的MR代码,然后我真的不必担心hadoop / MR的并行计算能力。 (如果我错了,请纠正我)。

但是,如果我的输入不是HDFS位置,则说我正在将MongoDB数据作为输入-mongodb:// localhost:27017 / mongo_hadoop.messages并运行我的映射器和reducers并将数据存储回mongodb,HDFS将如何出现。我的意思是我该如何确保首先将1 GB或任何大小的大文件分发到HDFS上,然后再对其进行并行计算?
是这个直接URI不会分发数据,而是我需要获取BSON文件,将其加载到HDFS上,然后将HDFS路径作为MR的输入提供给它,或者该框架足够聪明,可以单独执行此操作?

如果上述问题太愚蠢或根本没有任何道理,我感到抱歉。我对大数据确实很陌生,但是非常兴奋地涉足这一 Realm 。

谢谢。

最佳答案

您正在描述 DBInputFormat 。这是一种输入格式,可从外部数据库读取拆分。 HDFS仅参与设置作业,而不参与实际输入。还有一个 DBOutputFormat 。使用DBInputFormat这样的输入时,分割是合乎逻辑的,例如。关键范围。

阅读Database Access with Apache Hadoop以获得详细说明。

关于mongodb - 如何使MapReduce与HDFS一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26519657/

相关文章:

java - 如何制作两个文件的学习列表

node.js - Mongoose findOne ObjectId 数组返回 null

javascript - 使用 html/javascript/mongodb 将图像存储在服务器上

mongodb - 无法连接到 Kubernetes 集群中的 mongodb 服务

javascript - socket.io 可以处理多少事件?

java - 如何获得编号使用java的mapreduce程序中HADOOP集群中的 Activity 节点

hadoop - 如何修复 java.lang.IllegalArgumentException : Unrecognized Hadoop major version number: 3. 1.0?

hadoop - 无法配置Hadoop

hadoop - hadoop grep 示例中每行一张 map 是否合理?

java - Hadoop MapReduce- reducer 未运行