Flink實時數倉5.0教程發(fā)布
-------------------------------------------
教程簡介:
在當今電商行業(yè)競爭激烈的環(huán)境下,數據實時處理與分析成為企業(yè)取得成功的關鍵因素之一。實時處理領域,Flink被普遍認為是下一代大數據流計算引擎,本項目基于Flink實現電商實時數倉,利用Flink強大的功能,實時采集、處理和存儲電商業(yè)務中的海量數據,并為企業(yè)提供了全面、深入的數據分析能力。
教程通過思路分析、畫圖演示、代碼開發(fā)等多維方式,對數倉的構架過程及整體實現進行了詳細的講解。相較于實時數倉項目4.0,升級了項目架構設計和各個軟件的版本,并采用GitFlow任務流的形式對整體項目進行版本控制,使用StreamPark對項目進行部署和監(jiān)控。
項目采用的軟件及版本:Flink 1.17.1、Hadoop 3.3.4、Flume 1.10.1、Zookeeper 3.7.1、Kafka 3.6.1、Maxwell 1.29.2、Redis 6.0.8、HBase 2.4.11、Doris 2.1.0、StreamPark 2.1.4、FlinkCDC 2.4.2、MySQL 8.0.31等。
-------------------------------------------
教程目錄:
001.課程介紹
002.基礎_數倉基本概念
003.基礎_離線數倉架
004.基礎_實時數倉架構
005.基礎_ER模型和維度建模
006.基礎_事實表和維度表
007.基礎_數倉構建流程
008.基礎_項目架構以及代碼版本控制方式介紹
009.基礎_IDEA開發(fā)環(huán)境搭建
010.環(huán)境準備_GitLab的安裝
011.環(huán)境準備_GitLab的其它配置
012.環(huán)境準備_創(chuàng)建用戶以及群組
013.環(huán)境準備_將初始代碼推送到GitLab倉庫
014.環(huán)境準備_設置Kafka分區(qū)數
015.ODS_日志數據采集
016.ODS_配置binlog記錄業(yè)務數據變化
017.ODS_Maxwell的安裝與配置
018.ODS_Maxwell同步數據測試
019.DIM_思路分析_基本流程
020.DIM_思路分析_引入配置表
021.DIM_思路分析_引入FlinkCDC
022.DIM_思路分析_配置表字段完善
023.DIM_FlinkCDC的使用
024.DIM_配置表的創(chuàng)建以及切換開發(fā)分支
025.DIM_開發(fā)思路分析
026.DIM_基本環(huán)境準備以及檢查點設置
027.DIM_從Kafka主題中讀取數據
028.DIM_轉換流中數據類型以及Maxwell問題說明
029.DIM_使用FlinkCDC讀取配置表數據
030.DIM_將配置流數據類型封裝為實體類對象
031.DIM_封裝HBaseUtil工具類
032.DIM_在HBase中建表
033.DIM_廣播配置流并和主流進行關聯
034.DIM_處理廣播流數據
035.DIM_處理主流數據
036.DIM_過濾掉不需要傳遞的字段
037.DIM_主流數據先到問題分析
038.DIM_在open方法中預加載配置信息
039.DIM_將維度數據同步到HBase表中
040.DIM_封裝FlinkSourceUtil工具類
041.DIM_抽取單獨的處理函數類
042.DIM_抽取BaseApp基類
043.DIM_抽取方法
044.DIM_封裝JdbcUtil工具類
045.DIM_DIM層總結
046.DWD_DWD層介紹
047.DWD_日志分流思路分析
048.DWD_開發(fā)思路分析
049.DWD_將臟數據放到側輸出流
050.DWD_創(chuàng)建KafkaSink對象以及Kafka一致性保證
051.DWD_抽取FlinkSinkUtil以及臟數據寫到Kafka
052.DWD_新老訪客標記修復思路
053.DWD_新老訪客標記修復代碼實現
054.DWD_埋點日志結構分析
055.DWD_分流代碼實現
056.DWD_將不同流的數據寫到Kafka主題
057.DWD_抽取方法以及提交代碼到GitLab
058.DWD_評論事實表思路分析
059.DWD_FlinkAPI雙流Join介紹
060.DWD_內連接
061.DWD_左外連接
062.DWD_右外連接以及全外連接
063.DWD_左外連接結果寫到Kafka主題
064.DWD_從Kafka主題中讀取數據
065.DWD_從HBase表中讀取數據
066.DWD_lookupJoin關聯
067.DWD_將關聯結果寫到Kafka主題
068.DWD_評論事實表開發(fā)思路以及環(huán)境準備
069.DWD_從topic_db主題中讀取數據
070.DWD_過濾出評論數據
071.DWD_從Hbase中讀取字典表數據
072.DWD_關聯評論表和字典表
073.DWD_將關聯的結果寫到Kafka主題
074.DWD_抽取工具類封裝獲取連接器屬性的方法
075.DWD_抽取BaseSQLApp基類以及通用的建表方法
076.DWD_加購事實表開發(fā)思路分析
077.DWD_過濾出insert類型的加購數據
078.DWD_過濾出update類型的加購數據以及寫到Kafka
079.DWD_下單事實表思路分析
080.DWD_下單事實表代碼實現
081.DWD_取消訂單事實表整體實現
082.DWD_支付成功事實表思路分析
083.DWD_支付成功事實表代碼實現
084.DWD_退單事實表整體實現(了解業(yè)務)
085.DWD_退款成功事實表整體實現(了解業(yè)務)
086.DWD_其它事實表實現思路分析
087.DWD_事實表動態(tài)分流思路
088.DWD_開發(fā)思路分析
089.DWD_業(yè)務數據以及配置表數據讀取
090.DWD_在open方法中預加載配置信息
091.DWD_處理廣播流中的配置信息
092.DWD_處理主流中的業(yè)務數據
093.DWD_將動態(tài)分流的事實表寫到Kafka主題
094.DWS層介紹
095.Doris_Doris介紹
096.Doris_安裝前準備工作
097.Doris_Doris安裝以及FE的配置
098.Doris_BE的配置
099.Doris_FE與BE的擴容和縮容
100.Doris_基本概念
101.Doris_Aggregate模型
102.Doris_Unique模型和Duplicate模型
103.Doris_建表其它操作
104.Doris_Range分區(qū)
105.Doris_List分區(qū)以及分區(qū)相關概念
106.Doris_動態(tài)分區(qū)
107.Doris_Rollup表
108.Doris_物化視圖
109.Doris_Flink讀寫Doris_SQL
110.Doris_Flink讀寫Doris_API
111.DWS_搜索關鍵詞思路分析
112.DWS_分詞工具類
113.DWS_自定義UDTF函數
114.DWS_開發(fā)思路分析
115.DWS_讀取頁面日志數據創(chuàng)建動態(tài)表
116.DWS_過濾出搜索行為
117.DWS_分詞并和原表字段進行關聯
118.DWS_分組、開窗、聚合計算
119.DWS_將聚合結果寫到Doris
120.DWS_版本、渠道、地區(qū)、新老訪客聚合統(tǒng)計思路分析
121.DWS_讀取數據并封裝為統(tǒng)計的實體類對象
122.DWS_指定Watermark的生成策略
123.DWS_分組、開窗
124.DWS_聚合
125.DWS_將聚合結果寫到Doris中
126.DWS_首頁、詳情頁聚合統(tǒng)計思路分析
127.DWS_首頁、詳情頁聚合統(tǒng)計代碼實現
128.DWS_獨立用戶以及回流用戶聚合統(tǒng)計思路分析
129.DWS_獨立用戶以及回流用戶聚合統(tǒng)計代碼實現
130.DWS_加購獨立用戶思路分析
131.DWS_加購獨立用戶代碼實現
132.DWS_SKU粒度下單聚合統(tǒng)計需求分析
133.DWS_SKU粒度下單聚合統(tǒng)計開發(fā)思路
134.DWS_從Kafka中讀取數據并轉換為JSON對象
135.DWS_狀態(tài)+定時器實現去重
136.DWS_狀態(tài)+抵消實現去重
137.DWS_封裝為統(tǒng)計的實體類對象
138.DWS_分組、開窗、聚合計算以及測試可能遇到的問題
139.DWS_在HBaseUtil中封裝查詢維度的方法
140.DWS_維度關聯最基本的實現方式
141.DWS_旁路緩存思路分析
142.DWS_封裝RedisUtil工具類
143.DWS_在Redis工具類提供讀寫數據的方法
144.DWS_旁路緩存代碼實現
145.DWS_維度數據發(fā)生變化清除緩存數據
146.DWS_關聯SPU維度
147.DWS_抽取旁路緩存模板
148.DWS_通過旁路緩存模板關聯SKU維度
149.DWS_異步IO介紹
150.DWS_封裝異步操作Redis的方法
151.DWS_封裝異步操作HBase的方法
152.DWS_發(fā)送異步請求關聯Sku維度的基本實現
153.DWS_發(fā)送異步請求關聯Spu維度以及抽取模板
154.DWS_發(fā)送異步關聯維度模板代碼實現
155.DWS_發(fā)送異步請求關聯SKU維度
156.DWS_關聯其它維度并將結果寫到Doris
157.DWS_Sku粒度下單聚合統(tǒng)計總結
158.DWS_省份粒度下單聚合統(tǒng)計
159.DWS_去重
160.DWS_封裝統(tǒng)計的實體類對象
161.DWS_分組、開窗、聚合計算
162.DWS_關聯維度并將結果寫到Doris
163.ADS_ADS層介紹
164.ADS_環(huán)境準備
165.ADS_總交易額統(tǒng)計思路分析
166.ADS_總交易額統(tǒng)計代碼實現
167.ADS_總交易額大屏展示
168.ADS_省份交易額統(tǒng)計思路分析
169.ADS_省份交易額統(tǒng)計代碼實現
170.ADS_渠道獨立訪客數統(tǒng)計思路分析
171.ADS_渠道獨立訪客數統(tǒng)計代碼實現
172.ADS_渠道獨立訪客大屏展示以及常見錯誤避坑
173.ADS_總交易額實時展示
174.部署_打包
175.部署_部署前準備工作
176.部署_手動部署到服務器
177.部署_StreamPark介紹
178.部署_StreamPark安裝
179.部署_StreamPark其它配置
180.部署_StreamPark中新建項目
181.部署_構建項目
182.部署_發(fā)布啟動作業(yè)
183.部署_合并分支
184.總結