Spark定製班第29課:深入理解Spark 2.x中的Structured Streaming內幕

本期內容:
1. 新型的Spark Streaming思維
2. Structured Streaming內幕

Spark 2.0 仍有bug,不適合於生成環境。只用於測試。
Spark 2.X提出了continuous application(連續的應用程序)的概念,非常重大。
如圖例所示,數據通過Kafka流進來,經過ETL,
SS把數據看成一張表。一張沒有邊際的表、
Eventtime,事件觸發器,以後再展開來分析。通過JDBC訪問數據。
多個query並行運行。
官方說2.0的正式版本並沒有在線機器學習功能了。

快速的、容錯的、exactly-once,有狀態的流處理。不用清楚底層的流是怎麼回事。



delta input: 增量更新。有更新的部分時,才更新。

從物理級別看的內容:

StructureStreaming基於DataSet、DataFrame,沒有涉及DStream了。沒有數據收集過來再處理這樣的概念,數據就一直在了。

上例中將兩個dataset進行join操作,更符合RDD的API,不需要foreachRDD後門了。
API級別的很大優勢。


默認情況下,DataSet、DataFrame是static bounded data,流處理是streaming unbounded data。API把兩者融合了。

可以認爲Planner是一個翻譯器或路由器,基於DataFrame和DataSet代碼來決定是否走Spark SQL的UnResult、Result Logic Plan、Optimized Logic Plan等,編碼者不需要關心這些東西了。
Spark會走向完全實時的時代。所有的機器學習、圖計算都應該在流數據上進行計算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章