更新時間:2020-05-29 來源:黑馬程序員 瀏覽量:
Spark Streaming是構(gòu)建在Spark上的實時計算框架,且是對Spark Core API的一個擴展,它能夠?qū)崿F(xiàn)對流數(shù)據(jù)進行實時處理,并具有很好的可擴展性、高吞吐量和容錯性。Spark Streaming具有如下顯著特點。
(1)易用性。
Spark Streaming支持Java、Python、Scala等編程語言,可以像編寫離線程序一樣編寫實時計算的程序求照的器。
(2)容錯性。
Spark Streaming在沒有額外代碼和配置的情況下,可以恢復丟失的數(shù)據(jù)。對于實時計算來說,容錯性至關重要。首先要明確一下Spak中RDD的容錯機制,即每一個RDD都是個不可變的分布式可重算的數(shù)據(jù)集,它記錄著確定性的操作繼承關系(lineage),所以只要輸入數(shù)據(jù)是可容錯的,那么任意一個RDD的分區(qū)(Partition)出錯或不可用,都可以使用原始輸入數(shù)據(jù)經(jīng)過轉(zhuǎn)換操作重新計算得到。
(3)易整合性。
Spark Streaming可以在Spark上運行,并且還允許重復使用相同的代碼進行批處理。也就是說,實時處理可以與離線處理相結(jié)合,實現(xiàn)交互式的查詢操作。
Spark Streaming工作原理
Spark Streaming支持從多種數(shù)據(jù)源獲取數(shù)據(jù),包括 Kafka、Flume、Twitter、LeroMQ、Kinesis以及TCP Sockets數(shù)據(jù)源。當Spark Streaming從數(shù)據(jù)源獲取數(shù)據(jù)之后,可以使用如map、 reduce、join和 window等高級函數(shù)進行復雜的計算處理,最后將處理的結(jié)果存儲到分布式文件系統(tǒng)、數(shù)據(jù)庫中,最終利用實時web儀表板進行展示。Spark Streaming支持的輸入、輸出源如下圖所示。
在上圖中,Spark Streaming先接收實時輸入的數(shù)據(jù)流,并且將數(shù)據(jù)按照一定的時間間隔分成一批批的數(shù)據(jù),每一段數(shù)據(jù)都轉(zhuǎn)變成Spark中的RDD,接著交由Spark引擎進行處理,最后將處理結(jié)果數(shù)據(jù)輸出到外部儲存系統(tǒng)。
猜你喜歡:
【AI設計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達到94.55%,班均薪資20763元
2025-09-19【AI智能應用開發(fā)-Java】畢業(yè)當天offer率91%,薪資1W+占比54.2%,班級均薪12k+
2025-09-19什么是實時計算?常用的實計算框架有哪些?【大數(shù)據(jù)培訓】
2020-05-29Kafka是什么?kafka有什么優(yōu)點?
2020-05-29大數(shù)據(jù)系統(tǒng)中的消息傳遞模式【大數(shù)據(jù)培訓】
2020-05-29大數(shù)據(jù)培訓之flink從入門到精通視頻教程【黑馬程序員】
2020-05-14Hadoop與Spark的區(qū)別有哪些?【大數(shù)據(jù)培訓】
2020-04-24Spark計算框架在處理數(shù)據(jù)時有什么優(yōu)勢?【大數(shù)據(jù)培訓】
2020-04-24