MapReduce教程

17 Mar 2025 | 阅读 2 分钟

MapReduce教程提供MapReduce的基本和高级概念。 我们的MapReduce教程专为初学者和专业人士设计。

我们的MapReduce教程包括MapReduce的所有主题,例如MapReduce中的数据流、Map Reduce API、字数统计示例、字符数统计示例等。

什么是MapReduce?

MapReduce是一种数据处理工具,用于以分布式形式并行处理数据。 它于2004年开发,基于谷歌发表的题为“MapReduce:在大型集群上简化数据处理”的论文。

MapReduce是一种范式,具有两个阶段,即mapper阶段和reducer阶段。 在Mapper中,输入以键值对的形式给出。 Mapper的输出作为输入提供给reducer。 reducer仅在Mapper结束后运行。 reducer也采用键值格式作为输入,reducer的输出是最终输出。

Map Reduce中的步骤

  • map以对的形式获取数据,并返回一个<key, value>对的列表。 在这种情况下,键将不唯一。
  • 使用Map的输出,Hadoop架构将应用排序和洗牌。 此排序和洗牌作用于这些<key, value>对的列表,并发送唯一键和与此唯一键<key, list(values)>关联的值列表。
  • 排序和洗牌的输出被发送到reducer阶段。 reducer对唯一键的值列表执行定义的功能,最终输出<key, value>将被存储/显示。
What is MapReduce What is MapReduce

排序和洗牌

排序和洗牌发生在Mapper的输出上,并在reducer之前。 当Mapper任务完成后,结果按键排序,如果存在多个reducer,则进行分区,然后写入磁盘。 使用每个Mapper <k2,v2>的输入,我们收集每个唯一键k2的所有值。 来自shuffle阶段的这种输出以<k2, list(v2)>的形式作为输入发送到reducer阶段。

MapReduce的用法

  • 它可以用于各种应用程序,如文档聚类、分布式排序和web链接图反转。
  • 它可用于基于分布式的模式搜索。
  • 我们也可以在机器学习中使用MapReduce。
  • 谷歌曾用它来重新生成谷歌的万维网索引。
  • 它可以在多个计算环境中用于,例如多集群、多核和移动环境。

前提条件

在学习MapReduce之前,您必须具备大数据的基础知识。

目标受众

我们的MapReduce教程旨在帮助初学者和专业人士。

问题

我们保证您在此MapReduce教程中不会发现任何问题。 但是,如果有任何错误,请在联系表格中发布问题。