gpt4 book ai didi

mapreduce - MapReduce 适合我吗?

转载 作者:行者123 更新时间:2023-12-04 05:27:36 27 4
gpt4 key购买 nike

我正在处理一个处理大量数据的项目,所以我最近发现了 MapReduce,在我进一步深入研究之前,我想确保我的期望是正确的。

与数据的交互将通过 Web 界面进行,因此响应时间在这里至关重要,我认为 10-15 秒的限制。假设我的数据在我对其进行任何分析之前将被加载到分布式文件系统中,我可以期望从中获得什么样的性能?

假设我需要过滤一个简单的 5GB XML 文件,该文件格式良好,具有相当扁平的数据结构和 10,000,000 条记录。假设输出将产生 100,000 条记录。 10秒可能吗?

如果是,我在看什么样的硬件?
如果没有,为什么不呢?

我放下了这个例子,但现在希望我没有。 5GB 只是我所说的一个样本,实际上我将处理大量数据。 5GB 可能是一天中一小时的数据,我可能想识别符合特定条件的所有记录。

数据库对我来说真的不是一个选择。我想知道的是,使用 MapReduce 时我可以期待的最快性能是什么。总是在几分钟或几小时内?从来没有秒吗?

最佳答案

MapReduce 有利于扩展大型数据集的处理,但它不是为了响应。例如,在 Hadoop 实现中,启动的开销通常只需要几分钟。这里的想法是处理一个需要几天的处理工作,并将其降低到几个小时,或几个小时到几分钟等的数量级。是时候做出回应了。

要了解为什么会这样,请考虑 MapReduce 的工作方式(一般的高级概述):

  • 一堆节点接收部分
    输入数据(称为拆分)并执行
    一些处理( map 步骤)
  • 中间数据(输出
    最后一步)被重新分区,这样
    具有相似键的数据最终
    一起。这通常需要一些
    节点之间的数据传输。
  • 减少节点(不是
    必然与映射器不同
    节点 - 一台机器可以做
    连续多个工作)执行
    减少步骤。
  • 结果数据被收集和合并
    产生最终的输出集。

  • 虽然 Hadoop 等人试图保持尽可能高的数据局部性,但在处理过程中仍然会发生大量的混洗。仅此一项就可以阻止您使用分布式 MapReduce 实现支持响应式 Web 界面。

    编辑 :正如 Jan Jongboom 指出的那样,MapReduce 非常适合预处理数据,因此 Web 查询可以很快,因为它们不需要参与处理。考虑从大量网页创建倒排索引的著名示例。

    关于mapreduce - MapReduce 适合我吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2059728/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com