久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何進行JobScheduler內幕實現

171次閱讀
沒有評論

共計 1107 個字符,預計需要花費 3 分鐘才能閱讀完成。

本篇文章給大家分享的是有關如何進行 JobScheduler 內幕實現,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。

在 spark stream 程序中的一條關鍵的語句就是:ssc.start()

1,跟蹤進入 StreamingContext 的 start 方法,有一句非常關鍵的語句 scheduler.start(),是個 JobScheduler(spark stream 用來 job 調度的)

進行 job 調度的入口!

2,計入 JobScheduler 的 start 方法。

在這個方法中幾個關鍵的點是:

eventLoop.start() 一個事件循環器,用于響應其它組件發來的事件 ( 包括 job 的啟動,完成,以及錯誤報告)。

receiverTracker.start() 控制了整個 receiver 的生成,與數據的接受

jobGenerator.start() 真正開始進行 job 的生成
 

在這個方法中也維護了一個事件處理的循環器 eventLoop,用于處理各種事件

其中最為關鍵的事件是 GenerateJobs(time),這個事件是進行生成 job 的事件!!

跟蹤計入 generateJobs(time)

jobScheduler.receiverTracker.allocateBlocksToBatch(time) 為當前的 bath 分發收到的數據 Blocks。

graph.generateJobs(time):根據當前編寫的程序的 output 動作生成相應的 job 并封裝進入集合中。

最終通過

提交作業到 executor

在回去看看 jobGenerator.start() 中的 startFirstTime()

private def startFirstTime() { val startTime = new Time(timer.getStartTime())
 graph.start(startTime - graph.batchDuration)
 timer.start(startTime.milliseconds)
 logInfo(Started JobGenerator at   + startTime)
}

第一次啟動會啟動一個定時器,該定時器會根基 duration bath 不斷的的給 jobGenerator 中的消息循環體!


在 jobGenerator 中的消息循環體就會不斷的去除消息進行處理

以上就是如何進行 JobScheduler 內幕實現,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計1107字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 灯塔市| 宜都市| 嘉兴市| 扎赉特旗| 普定县| 广安市| 大埔县| 麻栗坡县| 百色市| 宁化县| 峨边| 同心县| 五莲县| 库伦旗| 兴文县| 河东区| 大新县| 武邑县| 十堰市| 甘谷县| 金乡县| 板桥市| 南陵县| 古丈县| 云浮市| 乡宁县| 万荣县| 太和县| 西藏| 祁连县| 荣昌县| 谷城县| 诸暨市| 连江县| 微博| 苍梧县| 视频| 贞丰县| 清流县| 佛教| 沂水县|