MapReduce 教程
MapReduce教程提供了MapReduce的基本和高级概念。我们的MapReduce教程专为初学者和专业人士设计。
我们的MapReduce教程包括MapReduce的所有主题,例如MapReduce中的数据流、MapReduceAPI、词计数示例、字符计数示例等。
什么是MapReduce
MapReduce是一种用于并行处理分布式数据的数据处理工具。它于2004年开发,基于Google发表的题为《MapReduce:大规模集群上简化的数据处理》的论文。
MapReduce是一种模式,具有两个阶段:映射器阶段和减少器阶段。在映射器中,输入以键值对的形式给出。映射器的输出将作为减少器的输入。减少器只有在映射器完成后才运行。减少器也以键值格式接受输入,减少器的输出是最终输出。
MapReduce的步骤
- 地图以键值对的形式接收数据并返回一个<键,值>对的列表。在这种情况下,键不是唯一的。
- 使用地图的输出,Hadoop架构应用排序和洗牌。这个排序和洗牌作用于<键,值>对的列表,并发送出唯一键和与此唯一键相关的值的列表<键,列表(值)>。
- 排序和洗牌的输出发送给减少器阶段。减少器对于唯一键的一组值执行定义的函数,并将最终的输出<键,值>存储/显示。
排序和洗牌
排序和洗牌发生在Mapper的输出和Reducer之前。当Mapper任务完成时,结果按键排序,如果有多个Reducer,则进行分区,然后写入磁盘。使用每个Mapper的输入<k2,v2>,我们收集每个唯一键k2的所有值。这个洗牌阶段的输出,即<k2,list(v2)>的形式,作为reducer阶段的输入。
MapReduce的用途
- 它可以应用于各种应用程序,如文档聚类、分布式排序和网页链接图反转。
- 它可以用于分布式基于模式的搜索。
- 我们还可以在机器学习中使用MapReduce。
- 谷歌将其用于重新生成Google的全球网络索引。
- 它可以在多个计算环境中使用,如多集群、多核心和移动环境。
先决条件
在学习MapReduce之前,您必须具备大数据的基本知识。
教程对象
我们的MapReduce教程旨在帮助初学者和专业人士。
问题
我们保证您在这个MapReduce教程中不会遇到任何问题。但是如果有任何错误,请在联系表单中发布问题。