溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

什么是流式計(jì)算?

發(fā)布時(shí)間:2020-05-24 01:56:15 來源:網(wǎng)絡(luò) 閱讀:541 作者:先薦 欄目:大數(shù)據(jù)

一、流式計(jì)算的背景

在日常生活中,我們通常會(huì)先把數(shù)據(jù)存儲(chǔ)在一張表中,然后再進(jìn)行加工、分析,這里就涉及到一個(gè)時(shí)效性的問題。如果我們處理以年、月為單位的級(jí)別的數(shù)據(jù),那么多數(shù)據(jù)的實(shí)時(shí)性要求并不高;但如果我們處理的是以天、小時(shí),甚至分鐘為單位的數(shù)據(jù),那么對(duì)數(shù)據(jù)的時(shí)效性要求就比較高。在第二種場景下,如果我們?nèi)耘f采用傳統(tǒng)的數(shù)據(jù)處理方式,統(tǒng)一收集數(shù)據(jù),存儲(chǔ)到數(shù)據(jù)庫中,之后在進(jìn)行分析,就可能無法滿足時(shí)效性的要求。

二、流式計(jì)算與批量計(jì)算

大數(shù)據(jù)的計(jì)算模式主要分為批量計(jì)算(batch computing)、流式計(jì)算(stream computing)、交互計(jì)算(interactive computing)、圖計(jì)算(graph computing)等。其中,流式計(jì)算和批量計(jì)算是兩種主要的大數(shù)據(jù)計(jì)算模式,分別適用于不同的大數(shù)據(jù)應(yīng)用場景。
流數(shù)據(jù)(或數(shù)據(jù)流)是指在時(shí)間分布和數(shù)量上無限的一系列動(dòng)態(tài)數(shù)據(jù)集合體,數(shù)據(jù)的價(jià)值隨著時(shí)間的流逝而降低,因此必須實(shí)時(shí)計(jì)算給出秒級(jí)響應(yīng)。流式計(jì)算,顧名思義,就是對(duì)數(shù)據(jù)流進(jìn)行處理,是實(shí)時(shí)計(jì)算。批量計(jì)算則統(tǒng)一收集數(shù)據(jù),存儲(chǔ)到數(shù)據(jù)庫中,然后對(duì)數(shù)據(jù)進(jìn)行批量處理的數(shù)據(jù)計(jì)算方式。主要體現(xiàn)在以下幾個(gè)方面:
1、數(shù)據(jù)時(shí)效性不同:流式計(jì)算實(shí)時(shí)、低延遲, 批量計(jì)算非實(shí)時(shí)、高延遲。
2、數(shù)據(jù)特征不同:流式計(jì)算的數(shù)據(jù)一般是動(dòng)態(tài)的、沒有邊界的,而批處理的數(shù)據(jù)一般則是靜態(tài)數(shù)據(jù)。
3、應(yīng)用場景不同:流式計(jì)算應(yīng)用在實(shí)時(shí)場景,時(shí)效性要求比較高的場景,如實(shí)時(shí)推薦、業(yè)務(wù)監(jiān)控...批量計(jì)算一般說批處理,應(yīng)用在實(shí)時(shí)性要求不高、離線計(jì)算的場景下,數(shù)據(jù)分析、離線報(bào)表等。
4、運(yùn)行方式不同,流式計(jì)算的任務(wù)持續(xù)進(jìn)行的,批量計(jì)算的任務(wù)則一次性完成。

三、流式計(jì)算框架、平臺(tái)與相關(guān)產(chǎn)品

第一類,商業(yè)級(jí)流式計(jì)算平臺(tái)(IBM InfoSphere Streams、IBM StreamBase等);
第二類,開源流式計(jì)算框架(Twitter Storm、S4等);
第三類,公司為支持自身業(yè)務(wù)開發(fā)的流式計(jì)算框架。
Strom:Twitter 開發(fā)的第一代流處理系統(tǒng)。
Heron:Twitter 開發(fā)的第二代流處理系統(tǒng)。
Spark streaming:是Spark核心API的一個(gè)擴(kuò)展,可以實(shí)現(xiàn)高吞吐量的、具備容錯(cuò)機(jī)制的實(shí)時(shí)流數(shù)據(jù)的處理。
Flink:是一個(gè)針對(duì)流數(shù)據(jù)和批數(shù)據(jù)的分布式處理引擎。
Apache Kafka:由Scala寫成。該項(xiàng)目的目標(biāo)是為處理實(shí)時(shí)數(shù)據(jù)提供一個(gè)統(tǒng)一、高通量、低等待的平臺(tái)。

四、流式計(jì)算主要應(yīng)用場景

流式處理可以用于兩種不同場景: 事件流和持續(xù)計(jì)算。
1、事件流
事件流具能夠持續(xù)產(chǎn)生大量的數(shù)據(jù),這類數(shù)據(jù)最早出現(xiàn)與傳統(tǒng)的銀行和股票交易領(lǐng)域,也在互聯(lián)網(wǎng)監(jiān)控、無線通信網(wǎng)等領(lǐng)域出現(xiàn)、需要以近實(shí)時(shí)的方式對(duì)更新數(shù)據(jù)流進(jìn)行復(fù)雜分析如趨勢分析、預(yù)測、監(jiān)控等。簡單來說,事件流采用的是查詢保持靜態(tài),語句是固定的,數(shù)據(jù)不斷變化的方式。
2、持續(xù)計(jì)算
比如對(duì)于大型網(wǎng)站的流式數(shù)據(jù):網(wǎng)站的訪問PV/UV、用戶訪問了什么內(nèi)容、搜索了什么內(nèi)容等,實(shí)時(shí)的數(shù)據(jù)計(jì)算和分析可以動(dòng)態(tài)實(shí)時(shí)地刷新用戶訪問數(shù)據(jù),展示網(wǎng)站實(shí)時(shí)流量的變化情況,分析每天各小時(shí)的流量和用戶分布情況;
比如金融行業(yè),毫秒級(jí)延遲的需求至關(guān)重要。一些需要實(shí)時(shí)處理數(shù)據(jù)的場景也可以應(yīng)用Storm,比如根據(jù)用戶行為產(chǎn)生的日志文件進(jìn)行實(shí)時(shí)分析,對(duì)用戶進(jìn)行商品的實(shí)時(shí)推薦等。

五、流式計(jì)算的價(jià)值

通過大數(shù)據(jù)處理我們獲取了數(shù)據(jù)的價(jià)值,但是數(shù)據(jù)的價(jià)值是恒定不變的嗎?顯然不是,一些數(shù)據(jù)在事情發(fā)生后不久就有了更高的價(jià)值,而且這種價(jià)值會(huì)隨著時(shí)間的推移而迅速減少。流處理的關(guān)鍵優(yōu)勢在于它能夠更快地提供洞察力,通常在毫秒到秒之間。
流式計(jì)算的價(jià)值在于業(yè)務(wù)方可在更短的時(shí)間內(nèi)挖掘業(yè)務(wù)數(shù)據(jù)中的價(jià)值,并將這種低延遲轉(zhuǎn)化為競爭優(yōu)勢。比方說,在使用流式計(jì)算的推薦引擎中,用戶的行為偏好可以在更短的時(shí)間內(nèi)反映在推薦模型中,推薦模型能夠以更低的延遲捕捉用戶的行為偏好以提供更精準(zhǔn)、及時(shí)的推薦。
流式計(jì)算能做到這一點(diǎn)的原因在于,傳統(tǒng)的批量計(jì)算需要進(jìn)行數(shù)據(jù)積累,在積累到一定量的數(shù)據(jù)后再進(jìn)行批量處理;而流式計(jì)算能做到數(shù)據(jù)隨到隨處理,有效降低了處理延時(shí)。

向AI問一下細(xì)節(jié)
推薦閱讀:
  1. 什么是PHP
  2. 什么是python

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI