Spark IMF传奇行动第22课:RDD的依赖关系彻底解密

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark IMF传奇行动第22课:RDD的依赖关系彻底解密相关的知识,希望对你有一定的参考价值。

版权声明:本文为博主原创文章,未经博主允许不得转载。作者:HaiziS

 

昨晚听了王家林老师的Spark IMF传奇行动第22课:RDD的依赖关系彻底解密,笔记如下:

1,窄依赖是指每个父RDD的一个Partition最多被子RDD的一个Partition所使用,例如map、filter、union等都会产生窄依赖;

2宽依赖是指一个父RDD的Partition会被多个子RDD的Partition所使用,例如groupByKey、reduceByKey、sortByKey等操作都会产生宽依赖

表面上是数据在流动,实质上算子在流动,数据不动代码动

 def combineByKeyWithClassTag[C](
    createCombiner: V => C,
    mergeValue: (C, V) => C,
    mergeCombiners: (C, C) => C,
    partitioner: Partitioner,
    mapSideCombine: Boolean = true,
    serializer: Serializer = null)(implicit ct: ClassTag[C]): RDD[(K, C)] = self.withScope {
 其中mapSideCombine: Boolean = true,表明了map端的combine操作为true,减少网络IO

 

后续课程可以参照新浪微博 王家林_DT大数据梦工厂:http://weibo.com/ilovepains

王家林  中国Spark第一人,微信公共号DT_Spark

 

转发请写明出处。

以上是关于Spark IMF传奇行动第22课:RDD的依赖关系彻底解密的主要内容,如果未能解决你的问题,请参考以下文章

Spark IMF传奇行动第19课:spark排序总结

Spark IMF传奇行动第17课Transformations实战总结

Spark IMF传奇行动第20课:top N总结

Spark IMF传奇行动第21课:从Spark架构中透视Job

[Spark传奇行动] 第34课:Stage划分和Task最佳位置算法源码彻底解密

Spark RDD基本概念宽窄依赖转换行为操作