大數據分析引擎Apache Flink

 

Apache Flink是一個高效、分佈式、基於Java實現的通用大數據分析引擎,它具備分佈式 MapReduce一類平臺的高效性、靈活性和擴展性以及並行數據庫查詢優化方案,它支持批量和基於流的數據分析,且提供了基於Java和Scala的API。從Apache官方博客中得知,Flink已於近日升級成爲Apache基金會的頂級項目。Flink項目的副總裁對此評論到:html

Flink可以成爲基金會的頂級項目,本身感到很是高興。本身認爲社區的驅動將是Flink成長的最好保證。Flink逐漸的成長以及衆多新人加入該社區真是一件大好事。程序員

從Flink官網得知,其具備以下主要特徵:es6

1. 快速

Flink利用基於內存的數據流並將迭代處理算法深度集成到了系統的運行時中,這就使得系統可以以極快的速度來處理數據密集型和迭代任務。算法

2. 可靠性和擴展性

當服務器內存被耗盡時,Flink也可以很好的運行,這是由於Flink包含本身的內存管理組件、序列化框架和類型推理引擎。數據庫

3. 表現力

利用Java或者Scala語言可以編寫出漂亮、類型安全和可爲核心的代碼,並可以在集羣上運行所寫程序。開發者能夠在無需額外處理就使用Java和Scala數據類型apache

4. 易用性

在無需進行任何配置的狀況下,Flink內置的優化器就可以以最高效的方式在各類環境中執行程序。此外,Flink只須要三個命令就能夠運行在Hadoop的新MapReduce框架Yarn上,編程

5. 徹底兼容Hadoop

Flink支持全部的Hadoop全部的輸入/輸出格式和數據類型,這就使得開發者無需作任何修改就可以利用Flink運行歷史遺留的MapReduce操做安全

Flink主要包括基於Java和Scala的用於批量和基於流數據分析的API、優化器和具備自定義內存管理功能的分佈式運行時等,其主要架構以下:服務器

 摘自 http://www.infoq.com/cn/news/2015/01/big-data-apache-flink-project架構

 

 

現在流處理愈來愈流行,例如Apache Kafka, Apache Samza, Apache Storm, Apache Spark的Streaming模塊等等,雲服務還有相似Google Cloud Dataflow。Apache Flink做爲一個新的流處理系統,其特色是:

1. 低延遲的流處理器

2.豐富的API可以幫助程序員快速開發流數據應用

3.靈活的操做狀態和流窗口

4.高效的流與數據的容錯不少公司正在從傳統的批處理架構遷移到實時流架構,在分佈式系統如HDFS中靜態文件和關係數據庫在經過事件流獲得加強,使用批處理實現的工做任務可以在流處理中以更低延遲實現。



這種轉型有許多方式,首先,許多數據集和用例都是基於事件的(好比機器日誌等),其次流處理在某種程度上能夠處理更復雜的工做任務,流處理原則上可以以低延時執行大部分批處理的工做任務,這樣,當流處理可以處理一樣的工做任務時,幾乎沒有理由再選擇使用hadoop這樣的批處理框架了。最後,一些新的應用類型諸如處理敏感數據常常須要持續查詢,這些應用只能使用流架構實現。一個典型的流架構由下面三個組件組成:


 

1. 一個模塊組件是從各類數據源收集事件流

2. 一個模塊組件集成各類流,使它們可用於直接消費。

3.一個模塊組件用來分析消費這些流數據

第一步是從各類數據源收集事件,事件來自於數據庫,機器產生日誌,事件傳感器等,這些事件須要清理 組織化到一箇中心。

第二步,在一箇中心集成各類流,典型工具如Apache Kafka,Kafka提供一個broker功能,以失敗容錯的高可靠性用來收集流 日誌或緩衝數據,以及分發到各類對不一樣流感興趣的消費者那裏進行分析。

第三步,對流進行真正的分析,好比建立計數器 實現聚合,Map/Reduce之類計算,將各類流Join一塊兒分析等等,提供了數據分析所需的一步到位的高級編程。Apache Flink正是這步實現。



Flink可以既用來進行批處理又能用來進行流處理,也就是綜合了Hadoop和Storm或Spark Streaming二者優勢,須要瞭解詳情見:Real-time stream processing: The next step for Apa

摘自 http://www.jdon.com/47283

 

Flink 的其餘文檔 https://www.ibm.com/developerworks/cn/opensource/os-cn-apache-flink/

 http://flink.apache.org/introduction.html

相關文章
相關標籤/搜索