1.?Spark-Streaming概述
定義:用于處理流式數據,支持多種數據輸入源,可運用Spark原語運算,結果能保存于多處。它以離散化流(DStream)為抽象表示,是RDD在實時數據處理場景的封裝。
特點:易用,支持多語言編寫實時計算程序;容錯,可恢復丟失數據;易整合,能在Spark上運行,結合離線處理實現交互式查詢。
2.?Spark-Streaming架構:包含背壓機制,1.5版本前靠設置靜態參數限制Receiver數據接收速率,易導致資源利用率低。1.5版本起可動態調整,通過“spark.streaming.backpressure.enabled”控制,默認不啟用。
3.?DStream實操 - WordCount案例
?
?
?
?
?
1.?RDD隊列創建DStream:可利用?ssc.queueStream(queueOfRDDs)?創建DStream,隊列中的每個RDD都會被當作一個DStream處理。
?
?
?2.?自定義數據源創建DStream:自定義數據源需繼承Receiver并實現?onStart?、?onStop?方法。
?
?
?
?
?
?
?
?
?