- 博客(5)
- 收藏
- 关注
原创 spark-MemoryManager源码学习
内存管理器管理的就是60%的内存,reserve 和other都不受 UnifiedMemoryManager管理。这期主要学习MemoryManager类的作用,主要是看这个类的相关类的作用。剩下统一内存管理UnifiedMemoryManager。SparkEnv中初始化的时候会创建这个对象。使用伴生对象的apply进行实例化。看的是spark3.1的代码。如何从内存池中申请内存吗。这里面是没有内存池的。堆外内存是如何申请的。
2023-06-18 13:51:16
264
1
原创 spark-BlockManager源码学习
可以看到写代码很简单,不过有两个重点需要留意下,第一个就是内存管理器memoryManager模块,这是一个很重要的模块,其管理我们内存的使用与清理。第二个重点是将数据封装成entry对象存储,entry有两个实现类,分别是SerializedMemoryEntry和DeserializedMemoryEntry,表示序列化和反序列化后的entry信息,从这可以看出,spark内存存储默认都是要序列化的,序列化后会放在LinkedHashMap集合。是的,这里主要实现父类的抽象方法。
2023-06-18 13:32:07
895
1
原创 spark-SortShuffleManager源码学习
由于spark shuffle 机制和hadoop的MR shuffle非常相似,我先回顾一下MR Shuffle。
2023-06-11 16:58:47
415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人