公司網(wǎng)站怎么突然多了好多友情鏈接如何刪除今日熱搜前十名
文章目錄
- 初探大數(shù)據(jù)流式處理
- 批式處理系統(tǒng)特點
- 流式處理系統(tǒng)特點
- 大批次計算
- 微批次計算
- 適用場景
- 流式計算的應(yīng)用場景
- 流式大數(shù)據(jù)的特征
- 流式計算的關(guān)鍵技術(shù)
- 流式處理框架的特征
- 三大流式數(shù)據(jù)處理框架
初探大數(shù)據(jù)流式處理
大數(shù)據(jù)處理系統(tǒng)主要分為批式處理和流式處理兩類。批式處理將大量數(shù)據(jù)分成批次進行處理,適用于對實時性要求不高的場景,如離線數(shù)據(jù)分析和大規(guī)模數(shù)據(jù)計算,常見的框架包括MapReduce、Hive和Spark。流式處理則是一種實時數(shù)據(jù)處理方式,能夠逐條或按小批次處理數(shù)據(jù),適用于需要低延遲和高實時性的場景,如實時監(jiān)控和即時分析,常見的框架包括Spark Streaming、Flink和Storm。
批式處理系統(tǒng)特點
- 數(shù)據(jù)批量處理:將某時間段的數(shù)據(jù)匯聚成一個批次,進行業(yè)務(wù)邏輯處理后加載至存儲系統(tǒng)。
- 查詢延遲性:雖然可對完整大數(shù)據(jù)集實現(xiàn)高效查詢,但無法查詢到最新的實時數(shù)據(jù),存在一定的數(shù)據(jù)延遲。
- 處理時間長:處理數(shù)據(jù)一般計算時間較長,可能幾分鐘、幾小時甚至幾天。
流式處理系統(tǒng)特點
- 實時處理與低延遲:流式大數(shù)據(jù)處理系統(tǒng)能夠?qū)崟r處理逐條或多條數(shù)據(jù),并將數(shù)據(jù)加載到高性能內(nèi)存中進行計算,同時支持數(shù)據(jù)的持久化,確保低延遲的數(shù)據(jù)處理。
- 數(shù)據(jù)到達的不確定性:流式計算無法預(yù)先確定數(shù)據(jù)的到達時間和順序,使得數(shù)據(jù)處理過程具有不確定性。
- 網(wǎng)絡(luò)延遲的影響:在實時流計算中,由于網(wǎng)絡(luò)延遲,來自不同節(jié)點的數(shù)據(jù)可能不會按照發(fā)送順序被處理,可能導(dǎo)致數(shù)據(jù)處理順序的混亂。
大批次計算
- 大批次計算時間:通常以小時、天、周、月、年作為時間間隔,因此也被稱為離線計算。
- 典型的計算框架:包括MapReduce、Hive、SparkCore、SparkSQL等。
微批次計算
- 微批次計算時間:處理數(shù)據(jù)的單位通常是毫秒、秒、分鐘,因此也被稱為實時計算。
- 典型的計算框架:包括SparkStreaming、Flink、Storm等。
適用場景
- 批量計算適用場景:適合對實時性要求不高,但對數(shù)據(jù)的準確性和全面性更為重要的應(yīng)用場景。通常采用先存儲后計算的方式。
- 流式計算適用場景:適合無需先存儲、可以直接進行數(shù)據(jù)計算,且對實時性要求嚴格,但對數(shù)據(jù)精確度要求稍微寬松的應(yīng)用場景。
- 流批一體計算適用場景:流量計算和批量計算具有明顯的優(yōu)劣互補特征。在多種應(yīng)用場合下,可以通過結(jié)合流式計算的實時性優(yōu)勢和批量計算的計算精度優(yōu)勢,滿足不同階段的數(shù)據(jù)計算要求。
流式計算的應(yīng)用場景
- 計算結(jié)果精度問題:大數(shù)據(jù)流式計算主要用于對動態(tài)產(chǎn)生的數(shù)據(jù)進行實時計算并及時反饋結(jié)果,但通常不要求結(jié)果絕對精確。
- 計算時機問題:在數(shù)據(jù)的有效時間內(nèi)獲取其價值是大數(shù)據(jù)流式計算系統(tǒng)的首要設(shè)計目標。當數(shù)據(jù)到來后,系統(tǒng)會立即對其進行計算或?qū)σ恍《螘r間間隔的數(shù)據(jù)進行計算,而不會等待后續(xù)全部數(shù)據(jù)到來再進行計算。
流式大數(shù)據(jù)的特征
- 實時性:流式大數(shù)據(jù)要求數(shù)據(jù)在產(chǎn)生后能夠被即時處理和分析,以確保結(jié)果的時效性。
- 易失性:流式數(shù)據(jù)往往具有短暫的生命周期,如果不能及時處理,數(shù)據(jù)可能會丟失或失效。
- 突發(fā)性:流式數(shù)據(jù)的產(chǎn)生速率可能會突然增加,形成數(shù)據(jù)洪峰。
- 無序性:流式數(shù)據(jù)在傳輸過程中可能會因為網(wǎng)絡(luò)延遲等原因而亂序到達。
- 無限性:流式數(shù)據(jù)是持續(xù)不斷產(chǎn)生的,沒有明確的結(jié)束點。
流式計算的關(guān)鍵技術(shù)
- 系統(tǒng)架構(gòu):包括有中心節(jié)點的主從式架構(gòu)和無中心節(jié)點的對稱式系統(tǒng)架構(gòu)。
- 數(shù)據(jù)傳輸:包括主動推送方式和被動拉取方式。
- 編程接口:方便用戶根據(jù)流式計算的任務(wù)特征,通過有向任務(wù)圖來描述任務(wù)內(nèi)在邏輯和依賴關(guān)系,并編程實現(xiàn)任務(wù)圖中各節(jié)點的處理功能。
- 高可用技術(shù):包括被動等待策略和主動等待策略。
- 時間窗口動態(tài)數(shù)據(jù)處理:實時系統(tǒng)需要提供對動態(tài)數(shù)據(jù)的實時處理方法,以快速響應(yīng)來自業(yè)務(wù)系統(tǒng)的即席查詢請求。
流式處理框架的特征
- 強實時處理:流式處理需要確保數(shù)據(jù)的實時計算,同時也需要確保處理結(jié)果的實時發(fā)送。
- 高容錯能力:由于數(shù)據(jù)很容易丟失,這就需要系統(tǒng)具有一定的容錯能力。
- 動態(tài)變化:一般采用流式處理架構(gòu)的應(yīng)用場景都存在數(shù)據(jù)速率不固定的情況。
- 多數(shù)據(jù)源:由于可能存在很多的數(shù)據(jù)源,而且各數(shù)據(jù)源、數(shù)據(jù)流之間又可能是相互獨立的。
- 數(shù)據(jù)時效性:系統(tǒng)在數(shù)據(jù)計算過程中,無法保存全部數(shù)據(jù)。
三大流式數(shù)據(jù)處理框架
- Storm:提供原生流處理,延遲極低,但吞吐量較低且不支持狀態(tài)管理。
- Spark Streaming:采用微批處理模型,支持高吞吐量和狀態(tài)管理,但延遲較高。
- Flink:結(jié)合了原生流處理和微批處理的優(yōu)點,提供低延遲、高吞吐量、精確一次的數(shù)據(jù)保證和強大的狀態(tài)管理能力,適用于復(fù)雜的實時數(shù)據(jù)處理場景。