4.7 本章小结
本章介绍了Spark的内部运行机制。主要介绍了Spark的执行机制和调度机制,包括调度与任务分配机制、I/O机制、通信机制、容错机制和Shuffle机制。Spark在执行过程中由Driver控制应用生命周期。调度中,Spark采用了经典的FIFO和FAIR等调度算法对内部的资源实现不同级别的调度。在Spark的I/O中,将数据抽象以块为单位进行管理,RDD中的一个分区就是需要处理的一个块。集群中的通信对于命令和状态的传递极为重要,Spark通过AKKA框架进行集群消息通信。Spark通过Lineage和Checkpoint机制进行容错性保证,Lineage进行重算操作,Checkpoint进行数据冗余备份。最后介绍了Spark中的Shuffle机制,Spark也借鉴了MapReduce模型,但是其Shuffle机制进行了创新与优化。通过阅读本章,读者可以深入了解Spark的内部原理,这对上层应用开发与性能调优是十分重要的。
介绍完Spark内部的执行执行机制,相信读者已经跃跃欲试,希望开发自己的Spark程序,下面章节将引导读者配置Spark开发环境,然后介绍Spark的编程实战。