mr的shuffle 分为map的shuffle和reduce 的shuffle
Map的Shuffle
数据存到hdfs中是以块进行存储的,每一个块对应一个分片,maptask就是从分片中获取数据的。
在某个节点上启动了mapTask,mapTask读取是通过k-v来读取的,读取的数据会放到环形缓存区,这样做的目的是为了防止IO的访问次数,然后环形缓存区的内存达到一定的阀值的时候会把文件溢写到磁盘,溢出的各种小文件会合并成一个大文件,这个合并的过程中会进行排序,这个排序叫做归并排序。
map阶段会涉及到
1.sort排序(默认按字典排序)