下载此文档

SparkStreaming应用启动过程分析.doc


文档分类:汽车/机械/制造 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
Spark Streaming 应用启动过程分析在调用 方法后,进入 方法中,各子元素 start 方法的调用顺序如下: private var eventLoop : EventLoop[JobSchedulerEvent] = null val listenerBus = new StreamingListenerBus() private val jobGenerator = new JobGenerator(this) () receiverTracker = new ReceiverTracker(ssc) inputInfoTracker = new InputInfoTracker(ssc) () () 在 eventLoop, listenerBus 以及 jobGenerator 中都维持了一个事件队列,以多线程的形式从这些队列中取出事件并处理。一般来说,运行一个生产者消费者系统时, 往往先开始运行的是消费者。所以在上面的代码中,越是早 start 的对象,越不是 Spark Streaming 启动事件的入口。理解了这段话对于理解后续的启动过程分析是有帮助的。无法理解的话也可以先理解后续分析再回头想想这一点。接下来分析上图中的主要对象。一、 JobGenerator 类 JobGenerator 的构造方法如下,使用到了前面提到的 JobScheduler 对象。 class JobGenerator(jobScheduler: JobScheduler) extends Logging 11 进入 JobGenerator 类。可以看到其 start 方法与 JobScheduler 的 start 方法结构十分类似。在这里面也有一个 EventLoop 类型的 eventLoop 对象,只不过这个对象传入的是 JobGeneratorEvent 类型的事件。 eventLoop = new EventLoop[JobGeneratorEvent]("JobGenerator") { override protected def onReceive (event: JobGeneratorEvent): Unit = processEvent(event) override protected def onError (e: Throwable ): Unit ={ ("Error in job generator" , e) }} () 1、 eventLoop 处理事件看一眼 JobGeneratorEvent ,发现 JobGenerator 中的 eventLoop 主要处理的是 Job 生成, metadata 以及 checkpoint 相关的事件。 private[scheduler] sealed trait JobGeneratorEvent // 生成 Jobs private [scheduler] case class GenerateJobs(time: Time) extends JobGeneratorEvent // 清除 metadata private [scheduler] case class ClearMetadata(time: Time) extends JobGeneratorEvent // 设置 checkpoint private [scheduler] case class DoCheckpoint( time: Time, clearCheckpointDataLater: Boolean) extends JobGeneratorEvent // 清除 checkpoint 数据 private [scheduler] case class ClearCheckpointData(time: Time) extends JobGeneratorEvent 当 JobGeneratorEvent 对象开始执行时,会多线程启动 eventLoop 对象通过执行 方法处理 JobGenerator 事件。看一下 方法中调用的 方法是如何处理 GenerateJobs

SparkStreaming应用启动过程分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小74 KB
  • 时间2017-05-29