Apache Flink :回顧2015,展望2016
回顧2015,總體而言Flink在功能方面已經從一個引擎發展成為最完整的開源流處理框架之一。與此同時,Flink社區也從一個相對較小,并且地理上集中的團隊,成長為一個真正的全球性的大型社區,并在Apache軟件基金會成為最大的大數據社區之一。接下來看看一些有趣的統計數據,其中就包括Flink每周最繁忙的時間是星期一,肯定出乎很多人所料:)
社區發展
首先,我們從Flink的GitHub庫中看一些簡單的統計。在2015年,Flink社區規模擴大了一倍,人數從大約75名貢獻者超過150名。從2015年2月至2015年12月,其github庫的復制數量超過了三倍,從160增長至544,而其star數目的增長也接近3倍,從289增至813。
盡管Flink創建于德國柏林,然而現在其社區遍布全球,擁有來自北美,歐洲以及亞洲的許多貢獻者。在著名線下交友網站meetup.com上做一個簡單的關于提及Flink作為重點領域的組織的搜索,搜索結果表明全世界有16個這樣的組織:
2015 Flink 推進會
毫無疑問,對于Flink而言,2015年的最重要的事件之一就是10月份在柏林舉辦的Flink 推進會,這是Apache Flink的首次會議。來自谷歌,MongoDB,布依格斯電信,NFLabs,Euranova,RedHat,IBM,華為,Intel,愛立信,Capital One,Zalando,Amadeus,the Otto Group和ResearchGate的250多名的參會者(大約一半總部位于德國以外),參加了超過33的技術會談。如果你想了解這些技術會議的內容,可以通過Flink Forward網站查看相關幻燈片和視頻。
有趣的是,在 2016年 EMEA Hadoop峰會已提交的議題和摘要中, 提及Flink的高達17個議題:
趣味統計:開發人員(提交者)何時提交代碼?
為了更深入的了解發生在Flink社區的事情,讓我們在這個項目的 git 日志上做一些分析:-) ,最簡單的做法是在 git 庫中統計2015年提交的總數目。運行如下代碼:
git log --pretty=oneline --after=1/1/2015 | wc -l
2015年Flink git庫總共產生2203次提交。為了更深入地探究提交者的行為,我們將使用一個稱為gitstats的開源工具進行分析,這將會帶來一些有趣的統計結果。你可以通過以下四個簡單的步驟來創建并更多了解:
1.從 project homepage..下載gitstats,舉個例子:在OS X上使用自帶軟件,鍵入:
brew install --HEAD homebrew/head-only/gitstats
2.克隆Apache Flink git庫:
git clone git@github.com:apache/flink.git
3.利用gitstats產生統計數據:
gitstats flink/ flink-stats/
4.在你常用的瀏覽器中(例如:chrome)查看統計頁面:
chrome flink-stats/index.html
首先,我們可以觀察到從Apache項目孵化開始,Flink的源代碼行數一直平穩增長,在2015年,其代碼庫幾乎翻了一番,源代碼行數從500,000增至900,000。
當Flink的開發者提交代碼時,可以發現一個有趣的現象,到目前為止,代碼都是集中在周一下午進行提交。
功能時間圖
下面是一個(非詳盡)的時間順序圖,用于顯示在2015年,Flink以及Flink生態系統新增了哪些主要功能:
2016年發展藍圖
Flink社區已經開始討論今后Flink的發展藍圖,下面列舉一些主要內容:
流式作業運行時伸縮:流式作業需要不間斷運行,并且需要對一個不斷變化的環境作出反應。運行時伸縮意味著為了支持特定的服務等級協議,從而動態地增加和減少作業的并行度,或者對輸入的吞吐量變化作出反應。
針對靜態數據集和數據流的SQL查詢:用戶以Flink 表 API 為基礎,可以通過編寫SQL語句查詢靜態數據集,以及針對數據流進行查詢從而連續產生新的結果。
有托管內存支持的流運算:目前,流運算像用戶自定義狀態和窗口都是由JVM堆對象支持。將這些內容移至Flink托管內存會增加溢出到磁盤的能力,垃圾回收效率的能力,從而可以更好地控制內存的使用。
檢測時間事件模式庫:在流處理中經常要檢測一個時間戳的事件流模式。Flink通過事件時間,對此進行了支持,利用庫的形式可以實現很多諸如此類的操作。
對Apache Mesos以及動態資源YARN的支持:同時支持Mesos 以及 YARN,包括動態分配和資源釋放,從而獲得更多資源彈性(包括批處理和流式處理)。
安全性:對TaskManagers 和 JobManager之間的信息交換以及workers之間的數據交換連接,都進行加密。
更加豐富的流式連接、更多的運行時度量以及連續數據流API增強:支持更多的源和匯(例如,Amazon Kinesis,Cassandra,Flume,等等),給用戶提供更多的度量指標,并提供持續改進的數據流API。
如果你對這些功能感興趣,強烈建議去查看下當前的草案,并加入 Flink 郵件列表討論。
原文: Flink 2015: A year in review, and a lookout to 2016
譯者:郭亞和,從事大數據(spart/storm/hadoop/hbase)相關運維、分析等工作。
來自: http://www.iteye.com/news/31347