批處理和流處理


參考:https://www.jianshu.com/p/5cc07eae1a0c

1.相關框架

僅批處理框架:

Apache Hadoop

僅流處理框架:

Apache Storm

Apache Samza

混合框架:

Apache Spark

Apache Flink

 

2.批處理系統

批處理在大數據世界有着悠久的歷史。批處理主要操作大容量靜態數據集,並在計算過程完成后返回結果。

批處理模式中使用的數據集通常符合下列特征...

  • 有界:批處理數據集代表數據的有限集合

  • 持久:數據通常始終存儲在某種類型的持久存儲位置中

  • 大量:批處理操作通常是處理極為海量數據集的唯一方法

批處理非常適合需要訪問全套記錄才能完成的計算工作。例如在計算總數和平均數時,必須將數據集作為一個整體加以處理,而不能將其視作多條記錄的集合。這些操作要求在計算進行過程中數據維持自己的狀態。

需要處理大量數據的任務通常最適合用批處理操作進行處理。無論直接從持久存儲設備處理數據集,或首先將數據集載入內存,批處理系統在設計過程中就充分考慮了數據的量,可提供充足的處理資源。由於批處理在應對大量持久數據方面的表現極為出色,因此經常被用於對歷史數據進行分析。

大量數據的處理需要付出大量時間,因此批處理不適合對處理時間要求較高的場合



3.流處理系統

流處理系統會對隨時進入系統的數據進行計算。相比批處理模式,這是一種截然不同的處理方式。流處理方式無需針對整個數據集執行操作,而是對通過系統傳輸的每個數據項執行操作。

流處理中的數據集是“無邊界”的,這就產生了幾個重要的影響:

  • 完整數據集只能代表截至目前已經進入到系統中的數據總量。

  • 工作數據集也許更相關,在特定時間只能代表某個單一數據項。

  • 處理工作是基於事件的,除非明確停止否則沒有“盡頭”。處理結果立刻可用,並會隨着新數據的抵達繼續更新。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM