Apache Flink是一個高效、分布式、基于Java實現的通用大數據分析引擎,它具有分布式 MapReduce一類平臺的高效性、靈活性和擴展性以及并行數據庫查詢優化方案,它支持批量和基于流的數據分析,且提供了基于Java和Scala的API。從Apache官方博客中得知,Flink已于近日升級成為Apache基金會的頂級項目。Flink項目的副總裁對此評論到:
Flink能夠成為基金會的頂級項目,自己感到非常高興。自己認為社區的驅動將是Flink成長的最好保證。Flink逐漸的成長以及眾多新人加入該社區真是一件大好事。
從Flink官網得知,其具有如下主要特征:
1. 快速Flink利用基于內存的數據流并將迭代處理算法深度集成到了系統的運行時中,這就使得系統能夠以極快的速度來處理數據密集型和迭代任務。
2. 可靠性和擴展性當服務器內存被耗盡時,Flink也能夠很好的運行,這是因為Flink包含自己的內存管理組件、序列化框架和類型推理引擎。
3. 表現力利用Java或者Scala語言能夠編寫出漂亮、類型安全和可為核心的代碼,并能夠在集群上運行所寫程序。開發者可以在無需額外處理就使用Java和Scala數據類型
4. 易用性在無需進行任何配置的情況下,Flink內置的優化器就能夠以最高效的方式在各種環境中執行程序。此外,Flink只需要三個命令就可以運行在Hadoop的新MapReduce框架Yarn上,
5. 完全兼容HadoopFlink支持所有的Hadoop所有的輸入/輸出格式和數據類型,這就使得開發者無需做任何修改就能夠利用Flink運行歷史遺留的MapReduce操作
Flink主要包括基于Java和Scala的用于批量和基于流數據分析的API、優化器和具有自定義內存管理功能的分布式運行時等,其主要架構如下:
更多關于Flink的相關信息,請讀者登錄其托管在GitHub的主頁和其官網查看。另外,開源的大數據分析平臺除了Flink外,還包括Apache推出Google Dremel的開源版本Apache Drill(2014年12月份升級成為Apache基金會的頂級項目)、來自NSA(美國國家安全局)Apache Nifi(2014年12月份貢獻給Apache基金會)、來自Cloudera公司開發的實時分析系統Impala(受Google Dremel啟發)、加州伯克利大學AMPLab開發的大數據分析系統Shark 、Facebook開源的分布式SQL查詢引擎Presto、Hortonworks開源的實時且類SQL的即時查詢系統Stinger等等。