iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 1
1
AI & Data

Streaming data process with Apache Flink系列 第 1

[Day1] Apeche Flink 簡介

Apache Flink以一句話描述的話會是?

Apache Flink在2014年自apache孵化器畢業, 是一款由Java和Scala開發的計算框架, 可處理批次資料(Batch)和流式資料(Streaming), 目前主要由data Artisans的成員進行開發。

Apache Flink和其他計算框架的差別?

Data Artisans官方網站, 將目前處理streaming data的主要框架進行比較, 此處只有Spark Streaming為Micro-batch處理streaming data, 其他框架為原生streaming式的框架, 這點反映在Latency上面, 相對的, Throughput也是Spark Streaming最佳。此外, Apache Flink有保證Exactly once的模式, 並有狀態紀錄和不同時間窗格的應用。

https://ithelp.ithome.com.tw/upload/images/20181009/20105229Scp7FLONgX.png
(以上資料取自https://data-artisans.com/blog/high-throughput-low-latency-and-exactly-once-stream-processing-with-apache-flink)

本系列文規劃

https://ithelp.ithome.com.tw/upload/images/20181009/20105229P1pq2hsHfy.png
(以上資料取自https://ci.apache.org/projects/flink/flink-docs-release-1.6/concepts/programming-model.html)
從上圖來看, 底層處理資料的API分為DataStream和DataSet(分別是Streaming & Batch), 本系列文會以DataStream的應用和操作為主, 在系列文的最後如有時間的話再討論DataSet/SQL的使用。

環境配置

本系列文主要以以下環境操作, 後期有使用其他工具或變動環境會在該篇文章進行補述

  • macOS 10.12.6
  • Java 8
  • Scala 2.11
  • Flink 1.4.2
  • Kafka(版本未定)

開賽前的期許

由於工作上的關係想對Apache Flink有更深入的了解, 以此順便記錄學習過程, 希望系列文章寫完之後能對Flink和Scala都能更駕輕就熟。


下一篇
[Day2] Apache Flink Quick-Start
系列文
Streaming data process with Apache Flink3
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言