更新時間:2020-12-28 來源:黑馬程序員 瀏覽量:
Spark Streaming支持從多種數(shù)據(jù)源獲取數(shù)據(jù),包括Kafka、Flume、Twitter、ZeroMQ、Kinesis 以及TCP Sockets數(shù)據(jù)源。當Spark Streaming從數(shù)據(jù)源獲取數(shù)據(jù)之后,則可以使用諸如map、reduce、join和window等高級函數(shù)進行復雜的計算處理,最后將處理的結果存儲到分布式文件系統(tǒng)、數(shù)據(jù)庫中,最終利用實時Web儀表板進行展示。Spark Streaming支持的輸入、輸出源如圖1所示。
圖1 Spark Streaming支持的輸入、輸出數(shù)據(jù)源
為了可以深入的理解Spark Streaming,接下來,通過一張圖對Spark Streaming的內(nèi)部工作原理進行詳細講解,如圖2所示。
圖2 Spark Streaming工作原理
在圖2中,Spark Streaming先接收實時輸入的數(shù)據(jù)流,并且將數(shù)據(jù)按照一定的時間間隔分成一批批的數(shù)據(jù),每一段數(shù)據(jù)都轉變成Spark中的RDD,接著交由Spark引擎進行處理,最后將處理結果數(shù)據(jù)輸出到外部儲存系統(tǒng)。
猜你喜歡