「Flink Forward 2015 重點整理」:DataStream API Hands-On #1

 

 

此議程為 Flink Forward 2015 的 Flink Training Session 第一堂議程,主要介紹透過 Flink DataStream API 撰寫即時串流運算的叢集程式,適合的對象為幾乎沒有寫過其他例如 Storm、MapReduce 或者 Spark 等分散式運算框架應用程式的初學者。對於已經有類似經驗的人,可以直接快速瀏覽 1、2、4、6 即可,這幾個地方跟其他運算框架有些微的不同。

Continue reading “「Flink Forward 2015 重點整理」:DataStream API Hands-On #1″

廣告

關於Flink的兩三事和簡單介紹

Apache Flink 是一個近期新興起的大數據運算系統,跟以往的系統不同的是,強調以串流運算為核心引擎 (streaming dataflow engine) 支援各式各樣的 data access pattern。

他最常與目前很火紅的Spark做比較,同樣都有「Single Runtime for All Workloads」的核心精神,涵括串流運算 (DataStream API)、批次運算 (DataSet API),也有機器學習 Library (FlinkML) 、 Graph 運算 (Gelly)、與 SQL (Table API)。底層比較,兩者在分散式架構上大量用了Akka ( Spark 為純 Scala,Flink 主要為 Java,Akka Actor 部分參雜了些 Scala ),而 application 撰寫方式都效仿了 Scala 原生的 collection API,寫起來可能會覺得跟 Spark 許多地方很相似。

最大的差別在於有別於Spark的runtime核心為RDD (本質上屬於批次資料的抽象化型態),Flink的runtime為 streaming dataflow engine,所以在串流運算上本質為 true-stream,不像Spark的串流運算屬於 micro-batch。這樣的runtime差異也讓Flink在Machine Learning、Graph等有效能上的差異,詳細的部分以及驗證就希望大家可以多加一起討論了 🙂

Flink 在國外已經開始在熱絡討論了,今年的 Hadoop Europe Summit 的 Abstract 投稿就發現佔了超多場 …
台灣相對來說真的很少人討論他 (也有可能是 Spark 的聲浪真的太大XD),但它的特性或許在未來的IoT、處處都是 streaming data 的時代似乎很有潛力,歡迎有興趣的人以及各路好手一起來了解和討論Flink!