hadoop大数据之shuffle过程

学习hadoop已有一月之余,由于前段时间不太上心,导致脑海之中并没有留下什么映像,但是这两天的集中学习让我对于mapreduce过程中的shuffle有了一定的了解,所以现在赶紧记下这难得的感触,不期望能给别人带来感悟什么的,但求给自己留下一个记录和以后的自己留下一个“当初”。

 好了,言归正传,众所周知,hadoop的核心框架就是hdfs跟mapreduce,而hdfs主要负责的就是类似于Windows文件系统类似的存储、读写的职责,其实用unix形容跟贴切,不过原理大题是相同的,然后reduce负责的就是计算这一部分(简单理解),其实说白了就是数据分类,统一等等,了解hadoop的人都知道,数据是经过map的运算过后传递给hadoop的,然后从这里开始,如果不插入combiner的话就可以说已经进入到shuffle过程了,主要过程可以分为如下几步,map——>环型缓冲区——>磁盘文件——>合并文件——>reduce,这就应该可以说是shuffle的过程了,中间涉及了几个要点,当环型缓冲区的数据接近80%时,就会溢出到磁盘文件,当然也有可能产生阻塞现象,也就是缓冲区输出的速度赶不上map输入的速度,这是就会等写到文件先完成然后再进行map输入,在磁盘文件接受到数据后,会对其进行分区,排序等内部实现,然后合并文件时再针对于相同分区,相同组进行排序,然后再输出给reduce。

终于敲完了,发现手机打字好累,这次写的不太严谨,也没有多少干货,不过或多或少还是挤出了一点东西,不求什么,只是想给自己今天的学习做个总结。

不过话说,我的伪分布式集群环境都没有搭好呢,哈哈,下次来个专题就叫《hadoop伪分布式集群搭建及所需软件的提供》,哈哈

    原文作者:萝卜切丝
    原文地址: https://www.jianshu.com/p/1b3b3fc5ec1c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞