Mapreduce 关于map/reduce概念的几个问题

Mapreduce 关于map/reduce概念的几个问题,mapreduce,Mapreduce,我一直在阅读有关map/reduce的内容,以便提高对大数据处理技术的理解,但我对以下几点有点不清楚: 当对巨大的数据集进行操作时,map功能不是仍然很慢吗?比如说,即使有10个工人/线程/机器/CPU/什么的?例如,如果数据集是10亿条记录,这意味着每个工作人员仍然需要迭代1亿条记录,并且转换仍然需要存储在某个地方进行处理 数据上的索引如何影响映射/缩减场景(如果有的话) 作为一个额外的问题,我想做的是生成一个实时(map函数将提取数据子集(最终输出格式)reduce函数将针对执行。由于map

我一直在阅读有关map/reduce的内容,以便提高对大数据处理技术的理解,但我对以下几点有点不清楚:

  • 当对巨大的数据集进行操作时,
    map
    功能不是仍然很慢吗?比如说,即使有10个工人/线程/机器/CPU/什么的?例如,如果数据集是10亿条记录,这意味着每个工作人员仍然需要迭代1亿条记录,并且转换仍然需要存储在某个地方进行处理

  • 数据上的索引如何影响映射/缩减场景(如果有的话)


  • 作为一个额外的问题,我想做的是生成一个实时(map函数将提取数据子集(最终输出格式)reduce函数将针对执行。由于map是提取,因此有理由认为索引将是执行速度的一个主要因素。每当您查看数十亿条记录时,都需要适当的优化和适当的平台,以便及时保存它们

    map函数的输出需要存储在某个地方,以便reduce操作,这是不可避免的

    Map/Reduce为您提供了一个机会,可以将您的搜索划分为更小、更易于管理的块,以便适合您的任务。请记住,除非您使用多个系统,否则简单地向任务添加线程可能会适得其反,因为这将增加为所有系统提供服务所需的上下文切换。我不会分配在线程争用磁盘访问或NIC访问时,每个系统的线程数比物理内核的数量还要多,因此也要为延迟做好准备


    你面前的任务相当艰巨,我想看看其他人是如何实现这些系统的,看看我是否能够重用其中一个系统,而不是自己尝试。如果这是一个智力练习,那么我希望你能在某个博客帖子中分享这些尝试、磨难和结果。

    谢谢,是的,事实上我已经提出了一个反对意见花了相当多的时间,但还有更多的东西需要学习和理解。我可能会在有时间的时候写一篇文章。