Spark Streaming简介
?Spark Streaming 是core Spark的一個(gè)擴(kuò)展,用來(lái)處理實(shí)時(shí)數(shù)據(jù)流,數(shù)據(jù)源可以來(lái)自Kafka, Flume, HDFS等,經(jīng)過(guò)復(fù)雜的算法處理后,存入HDFS,數(shù)據(jù)庫(kù),或者實(shí)時(shí)的Dashboards.?
從內(nèi)部來(lái)看,Spark Streaming把進(jìn)來(lái)的流式數(shù)據(jù)切成一小塊一小塊,然后再交給Spark Engine處理,最終把無(wú)間隔的流式數(shù)據(jù)處理為有微小間隔的批次數(shù)據(jù)。由此完成了對(duì)數(shù)據(jù)流的實(shí)時(shí)處理。
?
接下來(lái),介紹幾個(gè)重要的概念:
?
Discretized Stream(DStream):DStream是Spark Streaming的一個(gè)抽象概念,代表一段連續(xù)的數(shù)據(jù)流,它既可以是從輸入端收到的數(shù)據(jù)流,也可以是經(jīng)過(guò)轉(zhuǎn)換處理后的數(shù)據(jù)流。從內(nèi)部來(lái)看一個(gè)DStream是由一組RDD序列構(gòu)成。
Resilient?Distributed?Dataset(RDD):? RDD是Spark的一個(gè)數(shù)據(jù)結(jié)構(gòu),它由一組只讀的,可容錯(cuò)的,可分布式處理的記錄所構(gòu)成。RDD要么通過(guò)讀取外部數(shù)據(jù)來(lái)創(chuàng)建,要么通過(guò)轉(zhuǎn)換現(xiàn)有的RDD來(lái)創(chuàng)建。RDD的操作包含Transformation(從現(xiàn)有的RDD生成一個(gè)新的RDD)和Action(對(duì)RDD執(zhí)行運(yùn)算后向Driver程序返回結(jié)果)
?
Input DStreams:?Input DStream代表了從數(shù)據(jù)源接收到的輸入數(shù)據(jù)流,Spark Streaming提供了兩類數(shù)據(jù)源,一類是基礎(chǔ)源,比如文件系統(tǒng),Socket連接。另一類是高級(jí)源,比如Kafka, Flume這些。
Transformations on DStreams:?與RDD類型,我們也可以對(duì)DStream進(jìn)行某些轉(zhuǎn)換(Transformation), 其中常用的一些轉(zhuǎn)換請(qǐng)參見?這里
Output Operations on DStreams:?DStream的輸出操作允許將DStream的數(shù)據(jù)存到外部系統(tǒng)中,比如數(shù)據(jù)庫(kù)或者文件系統(tǒng)。具體的輸出操作請(qǐng)參見 這里
?
?
總的來(lái)說(shuō),Spark Streaming就是將實(shí)時(shí)數(shù)據(jù)流分成一個(gè)個(gè)的RDD,然后對(duì)RDD進(jìn)行各種操作和轉(zhuǎn)換,最終將處理結(jié)果輸出到外部的數(shù)據(jù)庫(kù)或文件系統(tǒng)中。
?
轉(zhuǎn)載于:https://www.cnblogs.com/LeeZee/p/7659164.html
總結(jié)
以上是生活随笔為你收集整理的Spark Streaming简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: opencv-python:win7下,
- 下一篇: UVa10795 - A Differe