原创 二十五、Flink + Uber AthenaX 平臺化實踐

本篇介紹一下flink在我司的平臺化實踐,講個大概,不能講太詳細。 AthenaX介紹 uber AthenaX https://athenax.readthedocs.io/en/latest/, 這個項目就不詳細介紹了,官

原创 二十四、Flink源碼閱讀--反壓相關源碼實現

本篇我們看下flink以反壓爲問題帶入,查看數據處理相關的源碼 源碼分析 之前再Task啓動的過程中,Task的run方法中是任務執行的相關邏輯代碼,其中有一行 network.registerTask(this); 這行代

原创 七、Flink入門--狀態管理

Flink狀態管理1.狀態概述1.1什麼是狀態?1.2爲什麼要管理狀態?1.3理想的狀態管理2.狀態類型與使用示例2.1 Keyed State & Operator State2.2 Managed State & Raw St

原创 四、Flink入門-- DataStream API

DataStream API1.DataStream 概覽1.1 使用示例1.2 數據源 Data Source1.3 數據輸出 Data Sink1.4 Opeator作用概覽1.5 KeyedStream1.6 物理分組1.7

原创 十四、Flink源碼閱讀--JobGraph生成過程

上篇分析了client整個提交任務過程,最終提交的是一個JobGraph對象,那麼是如何從jar或sql 任務轉爲JobGraph的呢,這篇我們仔細研究一下, 版本爲1.6.3 源碼分析 上篇我們介紹client端提交任務最終

原创 十二、Flink實戰--DataStream、DateSet、TableAPI 、SQL各種實現

Flink API實現1. DataStream 實現2. DataSet 實現3. Table API & SQl實現 今天我們模擬實際生成,從kafka消費數據,利用flink的各種API實現,統計wordcount。 1.

原创 八、Flink入門--TableApi & Sql

TableAPi1. 概述2. Table API編程2.1 word count例子2.2 註冊表的幾種方式2.3輸出表的幾種方式2.4 查詢表2.5 Table to DataStream 或 DataSet2.6 Table

原创 十七、Flink進階-- 數據類型與序列化

flink在數據存儲和數據交換的過程中需要交換大量信息,本篇我們瞭解一些關於flink序列化相關的內容。 常見問題 註冊子類型 :如果函數僅描述了父類型,但執行是指定子類型的話會大大提升性能, 註冊自定義類型 :類似goog

原创 十、Flink進階--Runtime核心架構

1. Flink Runtime 概述 1.1 概述 Flink RunTime是介於底層部署與DataSteamApi或DataSetApi之間的一層,以JobGraph形式接收程序,將任務task提交到集羣上執行,RunTi

原创 十六、Flink進階--Flink checkpoint實現原理

前面我們已經瞭解過flink的狀態,對於這些狀態如何保存,我們一起學習一下flink的checkpoint機制,並瞭解一下rocksdb中的增量checkpoint是怎麼實現的。 Checkpoint實現原理 Flink提供的

原创 十三、Flink源碼閱讀--Client提交任務過程

我們以flink中自帶的wordcount例子作爲提交任務,查看在客戶端Flink提交任務的詳細源碼步驟。 入口分析 首先我們看一下提交命令如下: bin/flink run examples/batch/WordCount

原创 二十、Flink源碼閱讀--JobManager對提交過來的JobGraph處理過程

在client提交任務的源碼分析那篇中我們知道了客戶端提交給JobManager的是一個JobGraph對象,那麼當JobManager的Dispatcher組件接收到JobGraph後做了哪些處理呢,這篇我們從源碼分析一些這個