0

hadoop 只是用作数据处理吗?Hadoop的主要好处是能够在不同的机器上读取相同的文件并在那里处理它然后减少。

使用 MongoDB 和 Hadoop 适配器,我们可以在每个节点上处理数据,但数据供应仍然来自一个 MongoDb 机器(磁盘)。因此,借助 10 个 Hadoop 节点在 10Gb 中搜索可能与完全没有 Hadoop 相同(仅在 mongodb 机器上)

对我来说,这看起来像是一个瓶颈。我对吗?

4

1 回答 1

0

不,Hadoop 实际上是两件事,HDFS(存储层)和 Mapreduce(处理层)。

只有文件的一部分,而不是整个文件。当您将文件存储在 HDFS 中时,它首先被切成 64M 的块(默认,但可配置),然后每个块以复制的方式存储在不同的机器上。每个块都在它所在的机器上读取,并与其他机器上的其他块并行处理。

为什么要将MongoDB数据先移动到Hadoop集群中再进行处理?你可以很好地使用分片和MapReduce以分布式方式处理MongoDB数据。您可能会发现此链接很有用。

于 2013-04-18T20:42:39.897 回答