【问题标题】:MongoDB and Hadoop basicsMongoDB 和 Hadoop 基础知识
【发布时间】:2013-04-18 20:11:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: mongodb hadoop


    【解决方案1】:

    不,Hadoop 实际上是 2 个东西,HDFS(存储层)和 Mapreduce(处理层)。

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

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

    【讨论】:

    • 即使是 MongoDB 中的多个分片也可能不如大型 Hadoop 集群强大 - 但是对源进行分片可以让您更快地将其流式传输到 Hadoop,因为 mongo-hadoop 连接器可以从分片中提取更多数据高效。
    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 2019-09-03
    • 2012-05-20
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多