mapreduce中shuffle过程是理解整个mapreduce数据传输的关键,整个流程大概如下:
数据输入–>map函数处理–>按照reduce个数/或者分区函数进行数据分区–>分区内的数据进行排序–>分区有序的map数据输出(数据可能存在于内存或者运行map任务机器的磁盘)–>combine函数处理(前提是数据处理满足交换律)–>每个分区combine后的有序数据------------------>输出到reduce端–>reduce合并来自各个map端的输入–>对本reduce要处理的数据进行排序–>有序的数据(可能放在内存也可能放在这个reduce机器所在的本地磁盘)–>reduce函数处理–>结果输出
hadoop的shuffle过程
最新推荐文章于 2022-01-06 22:40:58 发布