MapReduce可以理解为把一堆杂乱无章的数据按照某种特征归并起来,然后处理并得到最后的结果。基本处理步骤如下:
- 把输入文件按照一定的标准分片,每个分片对应一个map任务。一般情况下,MapReduce和HDFS运行在同一组计算机上,也就是说,每台计算机同时承担存储和计算任务,因此分片通常不涉及计算机之间的数据复制。
- 按照一定的规则把分片中的内容解析成键值对。通常选择一种预定义的规则即可。
- 执行map任务,处理每个键值对,输出零个或多个键值对。
- MapReduce获取应用程序定义的分组方式,并按分组对map任务输出的键值对排序。默认每个键名一组。
- 待所有节点都执行完上述步骤后,MapReduce启动Reduce任务。每个分组对应一个Reduce任务。
- 执行reduce任务的进程通过网络获取指定组的所有键值对。
- 把键名相同的值合并为列表。
- 执行reduce任务,处理每个键对应的列表,输出结果。
MapReduce原理与流程
MapReduce是一种处理大规模数据集的编程模型,通过将数据分片并行处理,再汇总结果来实现高效的数据处理。本文详细介绍了MapReduce的基本处理步骤,包括数据分片、键值对解析、map任务执行、键值对排序、reduce任务启动和执行等关键环节。
2257

被折叠的 条评论
为什么被折叠?



