《Apache Flink :回顧2015,展望2016》要點:
本文介紹了Apache Flink :回顧2015,展望2016,希望對您有用。如果有疑問,可以聯系我們。
歡迎參與《Apache Flink :回顧2015,展望2016》討論,分享您的想法,維易PHP學院為您提供專業教程。
回顧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 郵件列表討論.
譯者:郭亞和,從事大數據(spart/storm/hadoop/hbase)相關運維、闡發等工作.