Apache Flink :回顧2015,展望2016

jopen 8年前發布 | 9K 次閱讀 Git Apache Flink

回顧2015,總體而言Flink在功能方面已經從一個引擎發展成為最完整的開源流處理框架之一。與此同時,Flink社區也從一個相對較小,并且地理上集中的團隊,成長為一個真正的全球性的大型社區,并在Apache軟件基金會成為最大的大數據社區之一。接下來看看一些有趣的統計數據,其中就包括Flink每周最繁忙的時間是星期一,肯定出乎很多人所料:)

社區發展

首先,我們從Flink的GitHub庫中看一些簡單的統計。在2015年,Flink社區規模擴大了一倍,人數從大約75名貢獻者超過150名。從2015年2月至2015年12月,其github庫的復制數量超過了三倍,從160增長至544,而其star數目的增長也接近3倍,從289增至813。

Apache Flink :回顧2015,展望2016

盡管Flink創建于德國柏林,然而現在其社區遍布全球,擁有來自北美,歐洲以及亞洲的許多貢獻者。在著名線下交友網站meetup.com上做一個簡單的關于提及Flink作為重點領域的組織的搜索,搜索結果表明全世界有16個這樣的組織:

Apache Flink :回顧2015,展望2016

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網站查看相關幻燈片和視頻。

Apache Flink :回顧2015,展望2016

有趣的是,在 2016年 EMEA Hadoop峰會已提交的議題和摘要中, 提及Flink的高達17個議題:

Apache Flink :回顧2015,展望2016

趣味統計:開發人員(提交者)何時提交代碼?

為了更深入的了解發生在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。

Apache Flink :回顧2015,展望2016

當Flink的開發者提交代碼時,可以發現一個有趣的現象,到目前為止,代碼都是集中在周一下午進行提交。

Apache Flink :回顧2015,展望2016

功能時間圖

下面是一個(非詳盡)的時間順序圖,用于顯示在2015年,Flink以及Flink生態系統新增了哪些主要功能:

Apache Flink :回顧2015,展望2016

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!