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