大資料常用處理框架

中琛源科技發表於2020-12-22

  發展到今天,大資料處理主要分為兩類大的需求,一是批處理,一是流處理。在企業的實際業務場景當中,可能會只需要批處理或者流處理,也可能同時需要批處理和流處理,這就使得搭建大資料系統平臺的時候,需要根據具體場景來進行技術選型。

 

  大資料處理框架,通常可以分為三類——

 

  ①批處理框架:Apache Hadoop

 

  ②流處理框架:Apache Storm、Apache Samza

 

  ③批處理+流處理框架:Apache Spark、Apache Flink

 

  這裡我們不對各個框架做更具體的講解,而是先來理解這些不同處理模式背後的思想。

 

  1、批處理

 

  批處理是大資料處理當中的普遍需求,批處理主要操作大容量靜態資料集,並在計算過程完成後返回結果。鑑於這樣的處理模式,批處理有個明顯的缺陷,就是面對大規模的資料,在計算處理的效率上,不盡如人意。

 

  目前來說,批處理在應對大量持久資料方面的表現極為出色,因此經常被用於對歷史資料進行分析。

 

  2、流處理

 

  批處理之後出現的另一種普遍需求,就是流處理,針對實時進入系統的資料進行計算操作,處理結果立刻可用,並會隨著新資料的抵達繼續更新。

 

  在實時性上,流處理表現優異,但是流處理同一時間只能處理一條(真正的流處理)或很少量(微批處理,Micro-batch Processing)資料,不同記錄間只維持最少量的狀態,對硬體的要求也要更高。

 

  3、批處理+流處理

 

  在實際的應用當中,批處理和流處理同時存在的場景也很多,混合處理框架就旨在解決這類問題。提供一種資料處理的通用解決方案,不僅可以提供處理資料所需的方法,同時提供自己的整合項、庫、工具,可滿足圖形分析、機器學習、互動式查詢等多種場景。

 

  大資料系統平臺的搭建,往往需要在這些開源大資料處理框架當中進行選擇,因此也就要求開發者們有相應程度的掌握。

相關文章