W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Spark streaming是Spark核心API的一個擴展,它對實時流式數(shù)據(jù)的處理具有可擴展性、高吞吐量、可容錯性等特點。我們可以從kafka、flume、Twitter、 ZeroMQ、Kinesis等源獲取數(shù)據(jù),也可以通過由高階函數(shù)map、reduce、join、window等組成的復雜算法計算出數(shù)據(jù)。最后,處理后的數(shù)據(jù)可以推送到文件系統(tǒng)、數(shù)據(jù)庫、實時儀表盤中。事實上,你可以將處理后的數(shù)據(jù)應(yīng)用到Spark的機器學習算法、圖處理算法中去。
在內(nèi)部,它的工作原理如下圖所示。Spark Streaming接收實時的輸入數(shù)據(jù)流,然后將這些數(shù)據(jù)切分為批數(shù)據(jù)供Spark引擎處理,Spark引擎將數(shù)據(jù)生成最終的結(jié)果數(shù)據(jù)。
Spark Streaming支持一個高層的抽象,叫做離散流(discretized stream
)或者DStream
,它代表連續(xù)的數(shù)據(jù)流。DStream既可以利用從Kafka, Flume和Kinesis等源獲取的輸入數(shù)據(jù)流創(chuàng)建,也可以在其他DStream的基礎(chǔ)上通過高階函數(shù)獲得。在內(nèi)部,DStream是由一系列RDDs組成。
本指南指導用戶開始利用DStream編寫Spark Streaming程序。用戶能夠利用scala、java或者Python來編寫Spark Streaming程序。
注意:Spark 1.2已經(jīng)為Spark Streaming引入了Python API。它的所有DStream transformations和幾乎所有的輸出操作可以在scala和java接口中使用。然而,它只支持基本的源如文本文件或者套接字上的文本數(shù)據(jù)。諸如flume、kafka等外部的源的API會在將來引入。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: