在之前的博客里,我对于hadoop和spark的相关基础进行了一定的讲解,大致的运行流程已经基本清晰,就像一辆极品的跑车,大致的框架已经出来了,剩下的是优化的操作,就像兰博基尼和拖拉机的区别,都是4个轮子发动机驱动,但是,我想大家应该都喜欢兰博基尼不喜欢拖拉机吧,尤其是男生,好车发动机的轰鸣声,听着都会热血沸腾吧!那么,spark的研发在出期的时候因为当时条件的限制,数据量不会那么大,已有的硬件处理水平完全能够满足,但是,随着时代的发展,就有人发现,现有的车的配置已经完全不能满足自己对于速度的追求,太慢了,可是,硬件的水平完全不能够满足数据的增长速度,这该怎么办呢?计算机界的各路大神汇集,商量了一下说:这样不大行啊,妖魔鬼怪太多了,消除不过来怎么办,没法短时间内提升咱的人数,没办法,只能提升我们自己的能力了,在自己身上下手,于是,这群大神在spark的配置上进行了一系列的优化,比如RDD的shuffle过程进行调优、将数据进行持久化处理并提出了多种不同的持久化级别、在资源以及任务调度方面进行相应的改善,
今天主要说的是shuffle的操作:大家都知道,hadoop中在进行mapreduce的时候会进行一个重新洗牌的过程也就是shuffle,其中包括hashshuffle和sortshuffle两种不同的shuffle形式,
首先来说hashshuffle,maptask将计算结果由分区起的策略决定分别存储