課程簡(jiǎn)介
本課程的大綱設(shè)置,注重的是Flink基礎(chǔ)和核心技術(shù)的梳理和掌握,之后會(huì)對(duì)其中幾個(gè)重要的技術(shù)點(diǎn)做深入分析。針對(duì)企業(yè)內(nèi)訓(xùn)的需求,我們對(duì)大綱的設(shè)置,特別增加了學(xué)以致用的實(shí)戰(zhàn)環(huán)節(jié),讓企業(yè)學(xué)員能夠在學(xué)習(xí)完Flink技術(shù)知識(shí)后,具備將Flink應(yīng)用到實(shí)際生產(chǎn)環(huán)境中的能力,通過短時(shí)間的技術(shù)學(xué)習(xí),為公司創(chuàng)造價(jià)值和提高技術(shù)生產(chǎn)的效率。
此課程共兩天,第一天為Flink的基礎(chǔ)和進(jìn)階技術(shù)知識(shí)點(diǎn),以及第一個(gè)實(shí)戰(zhàn)項(xiàng)目。第二天為Flink的高級(jí)技術(shù)知識(shí)點(diǎn),包含了第二個(gè)實(shí)戰(zhàn)項(xiàng)目。
目標(biāo)收益
培訓(xùn)對(duì)象
課程大綱
1.流式處理架構(gòu) |
1.1 流式處理背景及架構(gòu)介紹 1.2 流式處理行業(yè)案例以及Flink的適用場(chǎng)景及應(yīng)用概述 |
2.Flink概述 |
2.1 什么是Flink 2.2 Flink架構(gòu) 2.3 Flink 與 Spark的比較以及為什么選擇Flink 2.4 Flink開發(fā)環(huán)境配置和搭建 |
3.Flink編程模型 |
3.1 數(shù)據(jù)集類型 3.2 Flink編程接口 3.3 Flink程序結(jié)構(gòu) 3.4 Flink數(shù)據(jù)類型 |
4.DataStream API介紹與使用 |
4.1 DataStream編程模型 4.2 Flink Execution 參數(shù) 4.3 Transformation 4.4 時(shí)間概念與Watermark 4.5 Windows窗口計(jì)算 4.6 作業(yè)鏈和資源組 4.7 Asynchronous I/O異步API 4.8 Asynchronous I/O異步原理 |
5.Flink Connector數(shù)據(jù)源 |
5.1 FlinkKafkaSource序列化、消費(fèi)模式 5.2 FlinkKafkaSource容錯(cuò)、動(dòng)態(tài)分區(qū)及topic 5.3 FlinkKafkaSink序列化、配置、分區(qū)與容錯(cuò) 5.4自定義Source和Sink |
6.DataSet API介紹與使用 |
6.1 DataSet API,Transformation 6.2 迭代計(jì)算 6.3 廣播變量與分布式緩存 6.4 語義注解 6.5 DataSetUtils工具類 |
7.Table API & SQL介紹與使用 |
7.1 TableEnviroment概念 7.2 Flink Table API 7.3 Flink SQL使用 7.4 自定義函數(shù) 7.5 自定義數(shù)據(jù)源 |
8.兩個(gè)完整的Flink實(shí)現(xiàn)案例: |
8.1 Kafka 數(shù)據(jù)流處理,寫入HDFS 8.2多源數(shù)據(jù)關(guān)聯(lián)與聚合分析 |
9.Flink有狀態(tài)的計(jì)算、狀態(tài)管理和容錯(cuò) |
9.1 什么是有狀態(tài)計(jì)算 9.2 有狀態(tài)計(jì)算中的數(shù)據(jù)一致性挑戰(zhàn) 9.3 理解state狀態(tài) 9.4 Operator State 的使用及Redistribute 9.5 Keyed State的使用與Redistribute 9.6 Broadcast State的妙用 9.7 Checkpoint核心原理剖析 9.8 Checkpoint使用條件及使用步驟 9.9 Checkpoint相關(guān)配置及重啟策略 9.10 Savepoint的觸發(fā)、Job恢復(fù)及刪除 |
10.實(shí)戰(zhàn)項(xiàng)目1:用Flink實(shí)現(xiàn)一個(gè)通用、配置化的海量數(shù)據(jù)流、批處理產(chǎn)品。 |
10.1實(shí)現(xiàn)配置管理 10.2實(shí)現(xiàn)數(shù)據(jù)源加載 10.3實(shí)現(xiàn)主流程控制 10.4實(shí)現(xiàn)任務(wù)管理 |
11.Flink部署與應(yīng)用 |
11.1 Flink集群部署 11.2 Flink高可用配置 11.3 Flink安全管理 11.4 Flink集群升級(jí) 11.5 Flink on Yarn的原理和運(yùn)行方式 11.6 Flink on Yarn 提交任務(wù)與停止任務(wù) |
12.Flink監(jiān)控與性能優(yōu)化 |
12.1 監(jiān)控指標(biāo) 12.2 Backpressure監(jiān)控與優(yōu)化 12.3 Checkpointing監(jiān)控與優(yōu)化 12.4 Flink內(nèi)存優(yōu)化 |
13.Flink組件棧介紹與使用 |
13.1 Flink復(fù)雜事件處理 13.2 Flink Gelly圖計(jì)算應(yīng)用 13.3 FlinkML機(jī)器學(xué)習(xí)應(yīng)用 13.4 Flink Metrics 與監(jiān)控 |
14.Flink源碼學(xué)習(xí) |
14.1 Flink源碼編譯 14.2 如何閱讀和學(xué)習(xí)Flink源碼 14.3 Flink源碼實(shí)現(xiàn)思路以及依賴管理 14.4 Flink核心模塊源碼帶讀與分析 |
15.Flink在各大互聯(lián)網(wǎng)公司的典型應(yīng)用剖析 |
15.1Flink在阿里的應(yīng)用 15.2Flink在字節(jié)跳動(dòng)的應(yīng)用 15.3Flink在騰訊的應(yīng)用 15.4Flink在微博的應(yīng)用 15.5Flink在其他互聯(lián)網(wǎng)公司的應(yīng)用 15.6Flink 最佳實(shí)踐 |
16.實(shí)戰(zhàn)項(xiàng)目2:使用Flink實(shí)現(xiàn)電商用戶支付行為分析和審計(jì)風(fēng)控 |
16.1電商支付數(shù)據(jù)模型(訂單,流水,賬戶余額,發(fā)現(xiàn)表) 16.2用戶行為分析需求與維度指標(biāo)設(shè)計(jì) 16.3審計(jì)風(fēng)控的需求與實(shí)現(xiàn)思路 16.4Flink代碼實(shí)現(xiàn)結(jié)構(gòu)與業(yè)務(wù)邏輯細(xì)節(jié)拆解 |
1.流式處理架構(gòu) 1.1 流式處理背景及架構(gòu)介紹 1.2 流式處理行業(yè)案例以及Flink的適用場(chǎng)景及應(yīng)用概述 |
2.Flink概述 2.1 什么是Flink 2.2 Flink架構(gòu) 2.3 Flink 與 Spark的比較以及為什么選擇Flink 2.4 Flink開發(fā)環(huán)境配置和搭建 |
3.Flink編程模型 3.1 數(shù)據(jù)集類型 3.2 Flink編程接口 3.3 Flink程序結(jié)構(gòu) 3.4 Flink數(shù)據(jù)類型 |
4.DataStream API介紹與使用 4.1 DataStream編程模型 4.2 Flink Execution 參數(shù) 4.3 Transformation 4.4 時(shí)間概念與Watermark 4.5 Windows窗口計(jì)算 4.6 作業(yè)鏈和資源組 4.7 Asynchronous I/O異步API 4.8 Asynchronous I/O異步原理 |
5.Flink Connector數(shù)據(jù)源 5.1 FlinkKafkaSource序列化、消費(fèi)模式 5.2 FlinkKafkaSource容錯(cuò)、動(dòng)態(tài)分區(qū)及topic 5.3 FlinkKafkaSink序列化、配置、分區(qū)與容錯(cuò) 5.4自定義Source和Sink |
6.DataSet API介紹與使用 6.1 DataSet API,Transformation 6.2 迭代計(jì)算 6.3 廣播變量與分布式緩存 6.4 語義注解 6.5 DataSetUtils工具類 |
7.Table API & SQL介紹與使用 7.1 TableEnviroment概念 7.2 Flink Table API 7.3 Flink SQL使用 7.4 自定義函數(shù) 7.5 自定義數(shù)據(jù)源 |
8.兩個(gè)完整的Flink實(shí)現(xiàn)案例: 8.1 Kafka 數(shù)據(jù)流處理,寫入HDFS 8.2多源數(shù)據(jù)關(guān)聯(lián)與聚合分析 |
9.Flink有狀態(tài)的計(jì)算、狀態(tài)管理和容錯(cuò) 9.1 什么是有狀態(tài)計(jì)算 9.2 有狀態(tài)計(jì)算中的數(shù)據(jù)一致性挑戰(zhàn) 9.3 理解state狀態(tài) 9.4 Operator State 的使用及Redistribute 9.5 Keyed State的使用與Redistribute 9.6 Broadcast State的妙用 9.7 Checkpoint核心原理剖析 9.8 Checkpoint使用條件及使用步驟 9.9 Checkpoint相關(guān)配置及重啟策略 9.10 Savepoint的觸發(fā)、Job恢復(fù)及刪除 |
10.實(shí)戰(zhàn)項(xiàng)目1:用Flink實(shí)現(xiàn)一個(gè)通用、配置化的海量數(shù)據(jù)流、批處理產(chǎn)品。 10.1實(shí)現(xiàn)配置管理 10.2實(shí)現(xiàn)數(shù)據(jù)源加載 10.3實(shí)現(xiàn)主流程控制 10.4實(shí)現(xiàn)任務(wù)管理 |
11.Flink部署與應(yīng)用 11.1 Flink集群部署 11.2 Flink高可用配置 11.3 Flink安全管理 11.4 Flink集群升級(jí) 11.5 Flink on Yarn的原理和運(yùn)行方式 11.6 Flink on Yarn 提交任務(wù)與停止任務(wù) |
12.Flink監(jiān)控與性能優(yōu)化 12.1 監(jiān)控指標(biāo) 12.2 Backpressure監(jiān)控與優(yōu)化 12.3 Checkpointing監(jiān)控與優(yōu)化 12.4 Flink內(nèi)存優(yōu)化 |
13.Flink組件棧介紹與使用 13.1 Flink復(fù)雜事件處理 13.2 Flink Gelly圖計(jì)算應(yīng)用 13.3 FlinkML機(jī)器學(xué)習(xí)應(yīng)用 13.4 Flink Metrics 與監(jiān)控 |
14.Flink源碼學(xué)習(xí) 14.1 Flink源碼編譯 14.2 如何閱讀和學(xué)習(xí)Flink源碼 14.3 Flink源碼實(shí)現(xiàn)思路以及依賴管理 14.4 Flink核心模塊源碼帶讀與分析 |
15.Flink在各大互聯(lián)網(wǎng)公司的典型應(yīng)用剖析 15.1Flink在阿里的應(yīng)用 15.2Flink在字節(jié)跳動(dòng)的應(yīng)用 15.3Flink在騰訊的應(yīng)用 15.4Flink在微博的應(yīng)用 15.5Flink在其他互聯(lián)網(wǎng)公司的應(yīng)用 15.6Flink 最佳實(shí)踐 |
16.實(shí)戰(zhàn)項(xiàng)目2:使用Flink實(shí)現(xiàn)電商用戶支付行為分析和審計(jì)風(fēng)控 16.1電商支付數(shù)據(jù)模型(訂單,流水,賬戶余額,發(fā)現(xiàn)表) 16.2用戶行為分析需求與維度指標(biāo)設(shè)計(jì) 16.3審計(jì)風(fēng)控的需求與實(shí)現(xiàn)思路 16.4Flink代碼實(shí)現(xiàn)結(jié)構(gòu)與業(yè)務(wù)邏輯細(xì)節(jié)拆解 |