Flink入坑指南系列文章,從實際例子入手,一步步引導用戶零基礎入門實時計算/Flink,併成長爲使用Flink的高階用戶。本文屬個人原創,僅做技術交流之用,筆者才疏學淺,如有錯誤,歡迎指正。轉載請註明出處,侵權必究。
Flink是什麼
這是個很玄妙的問題。在以下網站上做了很專業的介紹。
- Flink官網:https://flink.apache.org/
- Flink中文官網:https://flink-china.org/
如果你是大數據從業人士,簡單理解,在功能上:flink>storm=jstorm=spark streaming。玩過大數據的同學對這些系統應該都不陌生。作爲流計算領域的後起之秀,flink架構設計先進,ms級延時,支持Exactly once語義等,逐漸受到廣大工程師的青睞,有越來越多的公司開始入坑Flink。
如果你是大數據小白,應該怎麼理解Flink呢?
- Flink是個分佈式實時計算引擎
- 可以通過SQL/DataStream API來提交Flink作業
- 可以解決低延時/大數量/精確計算的業務需求
還不理解?那麼就跟我們的文章一步步來探索吧。
實時計算產品是什麼
官方介紹 -- 阿里雲實時計算(Alibaba Cloud Realtime Compute)(原阿里雲流計算)是一套基於Apache Flink構建的一站式、高性能實時大數據處理平臺,廣泛應用於流式數據處理、離線數據處理、DataLake計算等場景。
實時計算底層計算引擎用的就是Flink,並且底層Flink版本與開源相比,在SQL解析層以及Runtime層都做了大量優化,SQL支持更完善,性能更優秀。實時計算產品使用的Flink版本中的各項feature會開源,逐步推回社區。
實時計算產品在Ali內部的引擎上,做了產品化包裝,開發了一套開發+運維IDE,並且與其他阿里雲產品的交互做了大量工作。在覈心功能上,實時計算產品=Flink,因此以後系列文章中,用Flink代替產品名稱。
本教程適合人羣
對Flink有濃厚興趣,想用Flink解決實際生產中的各種問題。
如果你是:
- 技術小白,不會寫SQL。 請移步google/百度,先學習一下SQL的基本知識。
- 有一定技術基礎,並且會寫SQL。恭喜你,你已經具備了學習Flink的基礎知識。
- 大數據從業人員,從本教程中,也可以學到很多原理性知識,從而成長稱爲優秀的Flink高階開發人員。
適合場景
Flink能解決什麼問題?如果你的場景:
- 流量大:單機搞不定
- 實時性要求高:s/ms級延時
- 計算邏輯複雜:有各種聚合/分組/關聯等複雜操作
恭喜你,入坑實時計算/Flink。
也可以參考目前我們收集的用戶案例,來判斷Flink是否適合你的場景。
如果你有任何Flink使用的優質案例,歡迎投稿,聯繫我們:點我提問。
如果你不確定Flink是否適合解決你的問題?點我提問。
如果你不確定你的需求在Flink中如何實現?點我提問。
如果你對實時計算產品/Flink有任何問題?點我提問