官术网_书友最值得收藏!

第1章 Flink入門

決定Flink的架構和實現的核心概念:數據是流,是動態的。數據不是在某一個時刻憑空產生的,而是隨著時間的流逝不斷地產生,實時數據是當前的數據,歷史數據就是截止到某個時刻產生的數據流集合。

大數據處理中有兩種經典模式:批處理、流處理。以流為核心,必須解決如何在數據流上實現流批統一。Google在Streaming 101、Streaming 102兩篇文章中對此進行了闡述,提出了一套以流為核心的計算引擎的關鍵概念,如有界數據(靜態數據集)與無界數據(數據流)、時間、窗口、Watermark等,對流批的概念進行了融合。

無界數據就是持續產生的數據流,有界數據是過去一個時間窗口內不變的數據流。對無界數據的處理就是流處理,對有界數據的處理就是批處理。流處理就是對未來持續產生的數據進行計算,批處理是對過去不再變化的數據流的計算。基于這種抽象,Flink解決了流批統一的問題。

流即未來,Flink以流為核心的實現與Google Cloud Dataflow平臺有異曲同工之妙。其中有兩層含義:

● 一是實時處理的需求越來越大,數據的時效性非常重要。

● 二是以流為核心的計算引擎,是更加自然的大數據處理引擎的實現形式。

以數據流為核心基礎,Apache Flink構建出了高性能、高可用的批流一體的分布式大數據計算引擎,在數據流上提供數據分發、通信、具備容錯能力的分布式計算功能。

過去,很多人認為Flink是一個類似Storm的實時計算引擎,而如今Flink以流計算引擎為基礎,同樣支持批處理,并且提供了SQL、復雜事件處理CEP、機器學習、圖計算等更高階的數據處理場景。

提到Flink,必然繞不開Spark,Spark的核心是批處理,采用微批處理實現實時計算。但是隨著Flink的成熟度越來越高,阿里巴巴在2019年收購了Flink的商業公司,把Blink重大改進貢獻給社區,使Flink在功能、性能方面突飛猛進,在實時計算領域相比Spark Streaming、Storm的優勢越來越大,在批處理方面的性能也與Spark不相上下。

主站蜘蛛池模板: 阿坝| 沧州市| 文化| 陈巴尔虎旗| 成安县| 毕节市| 门头沟区| 厦门市| 崇左市| 元谋县| 连云港市| 茶陵县| 棋牌| 宝丰县| 大埔区| 嘉黎县| 宁乡县| 永定县| 辉县市| 鹰潭市| 泰宁县| 海兴县| 宁城县| 太保市| 扎鲁特旗| 武安市| 韶关市| 屏南县| 正宁县| 南漳县| 白城市| 马鞍山市| 广南县| 贡嘎县| 怀远县| 永泰县| 苏尼特右旗| 秦安县| 花垣县| 林西县| 长宁区|