1. Spark源码阅读(二十一):计算引擎之排序聚合基础数据结构

    主要介绍了AppendOnlyMap与PartitionedPairBuffer两种Spark自己实现的类似map和colletion的数据结构,对大量聚合运算进行了优化且实现了采样估计集合大小的特性

    2020/09/28 Spark

  2. Spark源码阅读(二十):计算引擎之Task与TaskContext

    简述task的实现细节

    2020/09/25 Spark

  3. Spark源码阅读(十九):计算引擎之task计算内存管理

    Tungsten是一种内存分配与释放的实现,包括堆内内存和堆外内存。Tungsten使用sun.misc.Unsafe直接操作系统内存,避免了在JVM中加载额外的类,也不用创建额外的对象,因而减少了不必要的内存开销,降低了GC扫描和回收的频率,提升了处理性能。堆外内存可以被精确地申请和释放,而且序列化的数据占用的空间可以被精确计算,所以相比堆内存来说降低了管理的难度,也降低了误差。

    2020/09/24 Spark

  4. Spark源码阅读(十八):调度系统之map输出跟踪器

    MapOutputTracker用于跟踪map任务的输出状态,此状态便于reduce任务定位map输出结果所在的节点地址,进而获取中间输出结果

    2020/09/22 Spark

  5. Spark源码阅读(十七):调度系统之task调度

    介绍Spark中的TaskSchedulerImpl及其依赖的组件

    2020/09/15 Spark

  6. Spark源码阅读(十六):调度系统之调度池

    介绍Spark中的调度池包括TaskSetManager

    2020/09/15 Spark

  7. Spark源码阅读(十五):调度系统之stage调度

    介绍Spark中的stage切分和调度

    2020/09/14 Spark

  8. Spark源码阅读(十四):调度系统之RDD

    介绍Spark中的RDD

    2020/09/14 Spark

  9. Spark源码阅读(十三):调度系统总览

    介绍Spark中的调度系统

    2020/09/14 Spark

  10. Spark源码阅读(十二):存储体系之Broadcast

    介绍Spark中的广播实现方式

    2020/09/13 Spark