spark streaming原始碼解讀之jobscheduler內幕實現和深度思考
接前文spark streaming jobset的提交
jobgenerator.scala (253行)
jobscheduler.submitjobset(jobset(time, jobs, streamidtoinputinfos))我們下面看一下jobscheduler中submitjobset的實現 (jobscheduler.scala 139-148行)
defsubmitjobset(jobset: jobset)else}
關鍵之處是job被封裝成為jobhandler物件並交由jobexecutor進行執行。
jobexecutor是乙個執行緒池,執行緒的個數由引數配置。如果需要多個job同時執行,比如在同乙個batchinterval中有多個output,則需要配置該引數。
**如下(jobscheduler.scala 50-52行):
private valnumconcurrentjobs = ssc.conf.getint("spark.streaming.concurrentjobs", 1)jobhandler中最關鍵的一處**就是(jobgenerator.scala 247行)private valjobexecutor =
threadutils.newdaemonfixedthreadpool(numconcurrentjobs,"streaming-job-executor")
job.run()
最後附圖 ** 感謝作者!
DT大資料夢工廠Spark定製班筆記 009
spark streaming原始碼解讀之receiver在driver的精妙實現全生命週期徹底研究和思考 在經過了一系列的有關spark streaming job的考察之後,我們把目光轉向receiver。spark streaming中receiverinputdstream都是現實乙個rec...
DT大資料夢工廠 溫故而知新 之15講
360雲盤 訪問密碼 45e2 dt大資料夢工廠 溫故而知新 之15講scala 中的特質的多繼承 package testpractice author administrator object traitmoreextenddemo trait aa trait bb class zz exte...
大資料時代IT或被DT替代
dt是資料處理技術 datatechnology 的英文縮寫。馬雲曾經在一次演講中說道 人類正從it時代走向dt時代 那麼到底什麼是dt,與it有什麼不一樣呢?it時代是以自我控制 自我管理為主,而dt datatechnology 時代,它是以服務大眾 激發生產力為主的技術。這兩者之間看起來似乎是...