阅读提示:阅读本文前,最好先阅读《Spark2.1.0之源码分析——事件总线》和《Spark2.1.0事件总线分析——ListenerBus的继承体系》。
有了《Spark2.1.0之源码分析——事件总线》文中对ListenerBus的定义及《Spark2.1.0事件总线分析——ListenerBus的继承体系》文中对ListenerBus类继承体系的介绍,本小节将详细介绍SparkListenerBus的实现,见代码清单1。
代码清单1 SparkListenerBus的实现
private[spark] trait SparkListenerBus
extends ListenerBus[SparkListenerInterface, SparkListenerEvent] {
protected override def doPostEvent(
listener: SparkListenerInterface,
event: SparkListenerEvent): Unit = {
event match {
case stageSubmitted: SparkListenerStageSubmitted =>
listener.onStage