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