亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Spark Streaming在實時計算中的應用研究

        2018-12-17 09:17:46謝艷晴
        電腦知識與技術 2018年25期

        謝艷晴

        摘要:Spark Streaming作為目前最為流行的一種實時流計算框架,在大數(shù)據(jù)時代,企業(yè)搭建實時計算平臺中占據(jù)著舉足輕重的地位。其良好的擴展性、高吞吐量以及容錯機制能夠滿足我們很多場景應用。

        關鍵詞:Spark Streaming;實時計算

        中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)25-0258-02

        隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)呈爆炸式的增長,原本單機的數(shù)據(jù)處理已經(jīng)無法滿足大數(shù)據(jù)時代業(yè)務的場景需要,如每日GB/TB級離線日志分析,網(wǎng)站/APP海量用戶的點擊瀏覽行為在線分析等等。在需求的驅動下,業(yè)界很快打造出了一些優(yōu)秀的分布式計算框架,如Hadoop、Spark等。

        實時計算是一種在線的將海量數(shù)據(jù)實時進行分析處理,一般延時限制在秒級的應用場景。該場景的數(shù)據(jù)源是實時的不間斷的,比如對于大型網(wǎng)站、海量用戶APP的流式數(shù)據(jù):用戶點擊了什么功能,搜索了什么內(nèi)容等,實時的數(shù)據(jù)計算和處理可以實現(xiàn)實時營銷(商品推薦、優(yōu)惠券活動),也可以實現(xiàn)動態(tài)實時地監(jiān)控網(wǎng)站不同時段的用戶流量和用戶分布的監(jiān)控。實時計算系統(tǒng)在互聯(lián)網(wǎng)公司擁有不可估量的價值,尤其是對電商平臺、金融互聯(lián)網(wǎng)平臺等,需要從用戶的實時行為中計算分析做營銷的平臺。

        1 Spark Streaming實時計算框架

        1.1 Spark Streaming簡介

        為了滿足實時計算場景的需求,使數(shù)據(jù)處理能夠達到實時的響應和反饋,又隨之出現(xiàn)了實時計算框架:Apache Storm、Apache Flink以及Spark Streaming等。一個項目除了實時計算之外,還往往會包括離線批處理、交互式查詢等業(yè)務功能。Spark Streaming是基于Spark Core API,所以與Spark中的其他模塊Spark Core(離線批處理)、Spark SQL(交互式查詢)能夠保持非常好的兼容性,三者可以進行無縫整合,給系統(tǒng)提供非常高的可擴展性。所以Spark Streaming是目前在企業(yè)中最為流行的實時計算框架。

        Spark Streaming可以從多種實時數(shù)據(jù)源讀取數(shù)據(jù),例如Kafka、Flume、Kinesis以及TCP sockets,也可以通過例如map,reduce,join,window等的高級函數(shù)組成的復雜算法處理。最終將處理后的數(shù)據(jù)持久化到HDFS,數(shù)據(jù)庫或者實時儀表盤中[1]。

        在內(nèi)部,它的工作原理如下圖2所示,Spark Streaming接收實時輸入數(shù)據(jù)流并將數(shù)據(jù)切分成batch(批)數(shù)據(jù),然后由Spark引擎處理它們以生成最終的分批流結果。

        1.2 Spark Streaming優(yōu)劣對比

        Spark Streaming不是真正的流失處理框架,而是一次處理一批數(shù)據(jù)。這種粗粒度的準實時處理框架,一次讀完或異步讀完之后處理數(shù)據(jù),且其計算可基于大內(nèi)存進行,因此具有較高的吞吐量,但是不可以避免會出現(xiàn)相應的計算延時,所以Spark Streaming適合秒級響應的準實時計算系統(tǒng)[2]。

        Storm是純流式的實時計算框架,用于不能忍受1秒以上延時的場景使用,比如實時金融系統(tǒng),要求純實時進行金融交易和分析。若Storm框架在程序中需要對數(shù)據(jù)進行延時批處理和交互查詢時,在編程實現(xiàn)方面就沒有Spark Streaming來得更加簡單,快捷些。

        2 Spark Streaming消費Kafka

        Kafka是實時數(shù)據(jù)源的一種,本文以kakfa為例,重點研究Spark Streaming消費kafka的兩種方式[3]。

        2.1 Receiver DStream

        容器方式采用Kafka高階API以建造容器的方式來專門、持續(xù)不斷、異步讀取Kafka的數(shù)據(jù)、讀取時間間隔以及每次讀取offsets范圍可以由參數(shù)來配置。讀取的數(shù)據(jù)保存在Receiver中,當driver觸發(fā)batch任務的時候,Receiver中的數(shù)據(jù)會轉移到剩余的Executor中去執(zhí)行。在執(zhí)行完畢之后,Receiver會相應更新Zookeeper的offsets。該方式為保證數(shù)據(jù)不丟失,可通過配置spark.streaming.receiver.writeAheadLog.enable參數(shù),使數(shù)據(jù)保存兩份,但是也會造成存儲浪費和影響效率。

        2.2 Direct DStream

        直接方式采用Kafka簡單的consumer api方式來讀取數(shù)據(jù),無須經(jīng)由zookeeper,此方式也不需要專門Receiver來持續(xù)讀取數(shù)據(jù)。當batch任務觸發(fā)時,由Executor讀取數(shù)據(jù),并參與到其他Executor的數(shù)據(jù)計算過程中去。Driver來決定讀取多少offsets,并將offsets交由checkpoints來維護。將觸發(fā)下次batch任務,再由Executor讀取kakfa數(shù)據(jù)并計算。相比于Receiver方法,該方式效率有了明顯提示,并且節(jié)約了計算資源,但是沒有維護zookeeper,故在監(jiān)控可視化方面,需要單獨對zookeeper進行維護。

        3 結論

        實時計算在各大電商、金融等平臺中已經(jīng)成為不可或缺的一部分。實時計算框架中Spark Streaming相比于其他框架,因其作為Spark生態(tài)中的一部分所以在項目中更加實用。本文概述了Spark Streaming的特點和工作原理,之后以高級實時數(shù)據(jù)源Kafka為例,剖析了Streaming消費Kafka的兩種模型,并論述了兩種模型的優(yōu)缺點,為讀者搭建實時計算系統(tǒng)提供參考。

        參考文獻:

        [1] 黨壽江,劉學,王星凱,等.基于Spark Streaming的實時數(shù)據(jù)采集分析系統(tǒng)設計[J].網(wǎng)絡新媒體技術,2017,6(5):48-53.

        [2] 裴國才.流計算及其在電信實時營銷中的應用[J].信息通信,2018(3).

        [3] 韓德志,陳旭光,雷雨馨,等.基于Spark Streaming的實時數(shù)據(jù)分析系統(tǒng)及其應用[J].計算機應用,2017,37(5):1263-1269.

        【通聯(lián)編輯:梁書】

        男男亚洲av无一区二区三区久久 | 91情侣视频| www插插插无码免费视频网站| 国产av一区二区三区日韩| āV第三区亚洲狠狠婷婷综合久久| 欧美乱人伦中文字幕在线不卡| 青青草针对华人超碰在线| 亚洲一区二区三区1区2区| 91国产精品自拍在线观看| 一本一道人人妻人人妻αv| 亚洲精品久久久久久久久av无码| 国产精品嫩草影院AV| 91成人午夜性a一级毛片| 日韩亚洲精选一区二区三区 | 国产情侣自拍在线视频 | 久久不见久久见中文字幕免费| 乱码精品一区二区三区| 中文字幕一区二区三区乱码不卡| 午夜视频一区二区在线观看| 亚洲一区二区国产激情| 免费无码又黄又爽又刺激| 精品一区二区三区无码视频| 秋霞日韩一区二区三区在线观看| 性色av手机在线观看| 日韩女优视频网站一区二区三区| 国产精品亚洲专区无码不卡| 亚洲国产精品无码久久98| 精品人人妻人人澡人人爽牛牛| 探花国产精品三级在线播放| 国内激情一区二区视频| 97超碰精品成人国产| 曰韩无码无遮挡a级毛片| 日韩免费无码一区二区三区| 无码一级视频在线| 国产av熟女一区二区三区蜜臀| 久久在一区二区三区视频免费观看 | 最近中文字幕mv在线资源| 国产短视频精品区第一页| 亚洲精品国产一区av| 国产精品黑丝美女啪啪啪| 色综合久久久久久久久久|