![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
文章平均质量分 62
imarch1
这个作者很懒,什么都没留下…
展开
-
Spark Shuffle Read过程
1. ShuffledRDD的compute()方法 override def compute(split: Partition, context: TaskContext): Iterator[(K, C)] = { val dep = dependencies.head.asInstanceOf[ShuffleDependency[K, V, C]] SparkEnv.g原创 2016-07-12 17:29:37 · 2440 阅读 · 1 评论 -
Spark shuffle write过程
1. ShuffleMapTask的runTask()方法 override def runTask(context: TaskContext): MapStatus = { // Deserialize the RDD using the broadcast variable. val deserializeStartTime = System.currentTimeMilli原创 2016-07-14 15:42:06 · 1951 阅读 · 0 评论 -
Spark tungsten shuffle
Tungsten的内存管理机制 内存管理必然涉及寻址,在介绍Tungsten的内存管理机制之前,我们先来看看内存地址的表示方式。 memory地址的表示方式在不同的内存管理模式中是不同的,这里我们考虑2种内存管理模式。第一种是off-heap模式,可以理解为是独立于JVM托管的heap之外利用c-style的malloc从os分配到的memory。这类memory不再由JVM原创 2016-07-18 22:03:47 · 456 阅读 · 0 评论 -
Spark tungsten shuffle过程
1. ShuffleMapTask的runTask()方法 override def runTask(context: TaskContext): MapStatus = { // Deserialize the RDD using the broadcast variable. val deserializeStartTime = System.currentTimeMil原创 2016-07-19 11:01:24 · 850 阅读 · 0 评论