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