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