一般来说,在执行shuffle类的算子的时候,比如groupByKey、reduceByKey、join等。 其实算子内部都会隐式地创建几个RDD出来。那些隐式创建的RDD,主要是作为这个操作的一些中间数据的表达,以及作为stage划分的边界。 因为有些隐式生成的RDD,可能是ShuffledRDD ...
分类:
其他好文 时间:
2018-11-25 17:46:19
阅读次数:
247
Spark中生成的不同的RDD中有的喝用户的逻辑显式的对于,例如map操作会生成MapPartitionsRDD,而又的RDD则是Spark框架帮助我们隐式生成的,例如reduceByKey操作时候的ShuffledRDD.
分类:
其他好文 时间:
2015-12-16 12:49:23
阅读次数:
148
在Spark的reduceByKey操作时会触发Shuffle的过程,在Shuffle之前,会有本地的聚合过程产生MapPartitionsRDD,接着具体Shuffle会产生ShuffledRDD,之后做全局的聚合生成结果MapPartitionsRDD
分类:
其他好文 时间:
2015-12-16 12:48:44
阅读次数:
157
这次 我们以指定executor-memory参数的方式来启动spark-shell:
启动成功了
在命令行中我们指定了spark-shell运行暂用的每个机器上的executor的内存为1g大小,启动成功后参看web页面:
从hdfs上读取文件:
在命令行中返回的MappedRDD,使用toDebugString,可以查看其line...
本文主要关注ShuffledRDD的Shuffle Read是如何从其他的node上读取数据的。
上文讲到了获取如何获取的策略都在org.apache.spark.storage.BlockFetcherIterator.BasicBlockFetcherIterator#splitLocalRemoteBlocks中。可以见注释。...
分类:
其他好文 时间:
2014-11-30 18:47:14
阅读次数:
138
1) union(otherRDD)RDD-->UnionRDD2) groupByKey(numPartitions)RDD-->ShuffledRDD-->MapPartitionsRDDgroupByKey() 只需要将 Key 相同的 records 聚合在一起,一个简单的 shuffle ...
分类:
其他好文 时间:
2014-10-30 20:46:35
阅读次数:
207