flink的基礎介紹

Flink 學習資料

  • 官方文檔 :https://flink.apache.org
  • Flink 中文社區視頻課程:https://github.com/flink-china/flink-training-course
  • Flink 中文社區 :https://www.slidestalk.com/FlinkChina
  • ververica 教程 :https://training.ververica.com/
  • ververica 教程中文文檔:https://ci.apache.org/projects/flink/flink-docs-master/zh/
  • 源碼:https://github.com/apache/flink
  • Flink 知識圖譜:https://ververica.cn/developers/special-issue/

1 flink介紹

1.1 flink發展歷程

2008,柏林理工大學一個研究性項目Stratosphere,Next Generation Big Data Analytics Platform(目標是建立下一代大數據分析引擎);
2014-04-16,Stratosphere成爲Apache孵化項目,從Stratosphere 0.6開始,正式更名爲Flink。由Java語言編寫;
2014-08-26,Flink 0.6發佈;
2014-11-04,Flink 0.7.0發佈,介紹了最重要的特性:Streaming API;
2016-03-08,Flink 1.0.0,支持Scala;
2016-08-08,Flink 1.1.0;
2017-02-06,Flink 1.2.0;
2017-11-29,Flink 1.4.0;
2018-05-25,Flink 1.5.0;
2018-08-08,Flink 1.6.0;
2018-11-30,Flink 1.7.0;
2019-02-15,Flink 1.7.2;
2019-04-09,Flink 1.8.0;
2019-07-10,Flink 1.8.1;
2019-09-12,Flink 1.8.2;
2019-08-22,Flink 1.9.0;
2019-10-18,Flink 1.9.1;
2020-02-11,Flink 1.10.0;
2020-05-08(昨天),Flink 1.10.1-rc3;
2019年初,阿里收購flink產品所屬公;不久必然會升級到2.x。
在這裏插入圖片描述

1.2 Flink定義

在這裏插入圖片描述

Apache Flink is a framework and distributed processing engine for stateful computations
over unbounded and bounded data streams. Flink has been designed to run in all common
cluster environments, perform computations at in-memory speed and at any scale.

Apache Flink是一個框架和分佈式處理引擎,用於對無界和有界數據流進行有狀態計算。

1.3 爲什麼選擇flink

flink的常用場景決定:
1、事件驅動應用
2、流/批分析
3、數據管道和ETL

flink優勢決定:
1、統一的框架(流批不區分)
2、統一多層次API
3、高性能計算
4、方便集成
5、強大的failover策略
6、易於部署及擴展
7、簡潔的模型
8、易於開發(source、transformation、sink)
9、能很好反應用戶行爲
10、符合現在更多企業追逐及時性

1.4 flink應用行業和場景

1.4.1 應用行業

電商和市場營銷
數據報表、廣告投放、業務流程需要

物聯網
傳感器實時數據採集和顯示、顯示報警、交通運輸業

電信業
基站流量調配

銀行和金融業
實時結算和通知推送,實時檢測異常行爲

1.4.2 應用場景

flink也常用於離線和實時數倉中!!!

首先我們來看看數倉架構演變(借用阿里雲數倉架構)。演變如下圖:

在這裏插入圖片描述

離線數倉架構:

在這裏插入圖片描述

Lambda架構:實時和離線計算融於一體。

在這裏插入圖片描述

Kappa架構:Lambda架構的簡化版本,去掉其離線部分。

flink認爲批次也是實時的特例!!!

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章