首頁技術(shù)文章正文

什么是實(shí)時(shí)計(jì)算?常用的實(shí)計(jì)算框架有哪些?【大數(shù)據(jù)培訓(xùn)】

更新時(shí)間:2020-05-29 來源:黑馬程序員 瀏覽量:

近年來,Web應(yīng)用、網(wǎng)絡(luò)監(jiān)控、傳感監(jiān)測、電信金融、生產(chǎn)制造等領(lǐng)域,對數(shù)據(jù)實(shí)時(shí)處理的需求不斷增強(qiáng),而Spark中的SparkStreaming實(shí)時(shí)計(jì)算框架就是為了實(shí)現(xiàn)對數(shù)據(jù)實(shí)時(shí)處理的需求而設(shè)計(jì)的。在電子商務(wù)中,淘寶、京東等網(wǎng)站從用戶點(diǎn)擊的行為(如加入購物車)和瀏覽的歷史記錄中發(fā)現(xiàn)用戶的購買意圖和興趣,然后通過Sparkstreaming實(shí)時(shí)計(jì)算框架分析處理,為之推薦相關(guān)商品,從而有效地提高商品的銷售量,同時(shí)也增加了用戶的滿意度,可謂是“一舉兩得”。下面我們介紹實(shí)時(shí)計(jì)算的框架。

什么是實(shí)時(shí)計(jì)算?

傳統(tǒng)的數(shù)據(jù)處理流程(離線計(jì)算),先是收集數(shù)據(jù),然后將數(shù)據(jù)存儲到數(shù)據(jù)庫中。當(dāng)需要某些數(shù)據(jù)時(shí),可以通過對數(shù)據(jù)庫中的數(shù)據(jù)做操作,得到所需要的數(shù)據(jù),再進(jìn)行其他相關(guān)的處理。這樣的處理流程會造成結(jié)果數(shù)據(jù)密集,結(jié)果數(shù)據(jù)密集則數(shù)據(jù)反饋不及時(shí)。在實(shí)時(shí)搜索的應(yīng)用場景中,需要實(shí)時(shí)數(shù)據(jù)做決策,而傳統(tǒng)的數(shù)據(jù)處理并不能很好地解決問題,這就引出了一種新的數(shù)據(jù)計(jì)算一實(shí)時(shí)計(jì)算,它可以針對海量數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算,無論是在數(shù)據(jù)采集還是數(shù)據(jù)處理中,都可以達(dá)到秒級別的處理要求。

在大數(shù)據(jù)技術(shù)中,有離線計(jì)算、批量計(jì)算、實(shí)時(shí)計(jì)算以及流式計(jì)算,其中,離線計(jì)算和實(shí)時(shí)計(jì)算指的是數(shù)據(jù)處理的延遲;批量計(jì)算和流式計(jì)算指的是數(shù)據(jù)處理的方式。

1590732911460_大數(shù)據(jù).jpg


常用的實(shí)計(jì)算框架

目前,業(yè)內(nèi)已經(jīng)衍生出許多實(shí)時(shí)計(jì)算數(shù)據(jù)的框架,如 Apache Spark Streaming、ApacheStorn、Apache Flink以及 Yahoo! S4。

1、 Apache Spark Streaming

Apache Spark Streaming即Apache公司免費(fèi)、開源的實(shí)時(shí)計(jì)算框架。它主要是把輸入的數(shù)據(jù)按時(shí)間進(jìn)行切分,并對切分的數(shù)據(jù)塊進(jìn)行并行計(jì)算處理,處理的速度可以達(dá)到秒級別。Netflix公司通過Kaka和SparkStreaming構(gòu)建了實(shí)時(shí)引擎,對每天從各種數(shù)據(jù)源接收到的數(shù)十億數(shù)據(jù)進(jìn)行分析,從而完成電影的推薦功能。

2、 Apache Storm

Apache Storm即Twitter公司免費(fèi)、開源貢獻(xiàn)給Apache的一個(gè)分布式實(shí)時(shí)計(jì)算系統(tǒng)。它可以簡單、高效、可靠地實(shí)時(shí)處理海量數(shù)據(jù),處理數(shù)據(jù)的速度達(dá)到毫秒級別,并可將處理后的結(jié)果數(shù)據(jù)保存到持久化介質(zhì)中(如數(shù)據(jù)庫、HDFS)。阿里巴巴公司的Jstorm,就是參考ApacheStorn開發(fā)的實(shí)時(shí)計(jì)算框架,可以說是Stom的增強(qiáng)版本,在網(wǎng)絡(luò)IO、線程模型、資源調(diào)度、可用性及穩(wěn)定性上都做了極大的改進(jìn),供很多企業(yè)使用。


3、 Apache Flink

Apache Flink即Apache公司開源的計(jì)算框架。它不僅可以支持離線處理,還可以支持實(shí)時(shí)處理。由于離線處理和實(shí)時(shí)處理所提供的SLA(服務(wù)等級協(xié)議)是完全不相同的,所以離線處理一般需要支持低延遲的保證,而實(shí)時(shí)處理則需要支持高吞吐、高效率的處理。

4、 Yahoo! S4(Simple Scalable Streaming System)

Yahoo! S4即Yahoo公司開源的實(shí)時(shí)計(jì)算平臺。它是通用的、分布式的、可擴(kuò)展的,并且還具有容錯(cuò)和可插拔能力,供開發(fā)者輕松地處理源源不斷產(chǎn)生的數(shù)據(jù)。

1577370495235_學(xué)IT就到黑馬程序員.gif




猜你喜歡:

機(jī)器學(xué)習(xí)可以應(yīng)用于哪些領(lǐng)域?

什么是機(jī)器學(xué)習(xí)?

大數(shù)據(jù)培訓(xùn)之?dāng)?shù)據(jù)可視化教程

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!