第1 章 流式數據架構理論 ............................................................................... 1
1.1 大數據處理架構演進曆程 ......................................................................... 1
1.2 案例分析 ..................................................................................................... 8
1.2.1 SK 電信駕駛安全性評分 ................................................................ 8
1.2.2 流式機器學習應用 ........................................................................ 12
1.3 流式數據架構基本概念 ........................................................................... 17
1.3.1 流 .................................................................................................... 17
1.3.2 時間 ................................................................................................ 18
1.3.3 窗口 ................................................................................................ 21
1.3.4 水印 ................................................................................................ 23
1.3.5 觸發器 ............................................................................................ 23
1.3.6 數據處理模式 ................................................................................ 23
1.3.7 如何理解流式數據架構的內在機製 ............................................ 27
1.4 根據事件時間開滾動窗口 ....................................................................... 28
1.4.1 what:轉換/where:窗口 ........................................................... 29
1.4.2 when:水印 ................................................................................... 29
1.4.3 when:觸發器 ............................................................................... 32
1.4.4 when:遲到生存期 ....................................................................... 34
1.4.5 how:纍加模式 ............................................................................. 35
1.5 一緻性 ....................................................................................................... 37
1.5.1 有狀態計算 .................................................................................... 37
1.5.2 exactly-once 語義 ........................................................................... 38
1.5.3 異步屏障快照 ................................................................................ 39
1.5.4 保存點 ............................................................................................ 44
1.6 思考題 ....................................................................................................... 45
第2 章 編程基礎 ........................................................................................... 46
2.1 Flink 概述 ................................................................................................. 46
2.2 讓輪子轉起來 ........................................................................................... 47
2.2.1 本書約定 ........................................................................................ 47
2.2.2 搭建單機版環境 ............................................................................ 48
2.2.3 配置IDEA ..................................................................................... 51
2.3 編程模型 ................................................................................................... 53
2.3.1 分層組件棧 .................................................................................... 53
2.3.2 流式計算模型 ................................................................................ 54
2.3.3 流處理編程 .................................................................................... 57
2.4 運行時 ....................................................................................................... 62
2.4.1 運行時結構 .................................................................................... 62
2.4.2 任務調度 ........................................................................................ 66
2.4.3 物理執行計劃 ................................................................................ 69
2.5 思考題 ....................................................................................................... 70
第3 章 流處理API ........................................................................................ 71
3.1 流處理API 概述....................................................................................... 71
3.2 時間處理 ................................................................................................... 73
3.2.1 時間 ................................................................................................ 73
3.2.2 水印 ................................................................................................ 74
3.2.3 周期性水印生成器 ........................................................................ 75
3.2.4 間歇性水印生成器 ........................................................................ 77
3.2.5 遞增式水印生成器 ........................................................................ 78
3.3 算子 ........................................................................................................... 79
3.3.1 算子函數 ........................................................................................ 80
3.3.2 數據分區 ........................................................................................ 83
3.3.3 資源共享 ........................................................................................ 85
3.3.4 RichFunction .................................................................................. 85
3.3.5 輸齣帶外數據 ................................................................................ 86
3.4 窗口 ........................................................................................................... 86
3.4.1 窗口分類 ........................................................................................ 87
3.4.2 窗口函數 ........................................................................................ 90
3.4.3 觸發器 ............................................................................................ 94
3.4.4 清除器 ............................................................................................ 96
3.4.5 遲到生存期 .................................................................................... 96
3.5 連接器 ....................................................................................................... 97
3.5.1 HDFS 連接器 ................................................................................. 98
3.5.2 Kafka .............................................................................................. 99
3.5.3 異步I/O ........................................................................................ 102
3.6 狀態管理 ................................................................................................. 104
3.6.1 狀態分類 ...................................................................................... 104
3.6.2 托管的Keyed State ...................................................................... 104
3.6.3 狀態後端配置 .............................................................................. 106
3.7 檢查點 ..................................................................................................... 107
3.8 思考題 ..................................................................................................... 108
第4 章 批處理API ...................................................................................... 109
4.1 批處理API 概述..................................................................................... 109
4.1.1 程序結構 ...................................................................................... 110
4.1.2 Source ........................................................................................... 111
4.1.3 Sink ............................................................................................... 112
4.1.4 連接器 .......................................................................................... 112
4.2 算子 ......................................................................................................... 113
4.2.1 算子函數 ...................................................................................... 113
4.2.2 廣播變量 ...................................................................................... 121
4.2.3 文件緩存 ...................................................................................... 122
4.2.4 容錯 .............................................................................................. 123
4.3 迭代 ......................................................................................................... 123
4.3.1 深度神經網絡訓練 ...................................................................... 123
4.3.2 網絡社團發現算法 ...................................................................... 125
4.3.3 Bulk Iteration ................................................................................ 127
4.3.4 Delta Iteration 的迭代形式 .......................................................... 128
4.4 注解 ......................................................................................................... 130
4.4.1 直接轉發 ...................................................................................... 130
4.4.2 非直接轉發 .................................................................................. 131
4.4.3 觸達 .............................................................................................. 132
4.5 思考題 ..................................................................................................... 132
第5 章 機器學習引擎架構與應用編程 ......................................................... 133
5.1 概述 ......................................................................................................... 133
5.1.1 數據加載 ...................................................................................... 134
5.1.2 多項式麯綫擬閤的例子 .............................................................. 135
5.2 流水綫 ..................................................................................................... 137
5.2.1 機器學習麵臨的架構問題 .......................................................... 137
5.2.2 Scikit-learn 架構實踐總結 .......................................................... 138
5.2.3 FlinkML 實現 ............................................................................... 140
5.3 深入分析多項式麯綫擬閤 ..................................................................... 170
5.3.1 數值計算的底層框架 .................................................................. 170
5.3.2 嚮量 .............................................................................................. 172
5.3.3 數據預處理 .................................................................................. 178
5.3.4 特徵變換 ...................................................................................... 184
5.3.5 綫性擬閤 ...................................................................................... 188
5.4 分類算法 ................................................................................................. 190
5.4.1 最優超平麵 .................................................................................. 190
5.4.2 凸優化理論 .................................................................................. 193
5.4.3 求解最優超平麵 .......................................................................... 198
5.4.4 核方法 .......................................................................................... 200
5.4.5 軟間隔 .......................................................................................... 205
5.4.6 優化解法 ...................................................................................... 208
5.4.7 SVM 的FlinkML 實現 ............................................................... 211
5.4.8 SVM 的應用 ................................................................................ 220
5.5 推薦算法 ................................................................................................. 221
5.5.1 推薦係統的分類 .......................................................................... 221
5.5.2 ALS-WR 算法 .............................................................................. 223
5.5.3 FlinkML 實現 ............................................................................... 225
5.5.4 ALS-WR 的應用 .......................................................................... 230
5.6 思考題 ..................................................................................................... 230
第6 章 關係型API ...................................................................................... 234
6.1 為什麼需要關係型API .......................................................................... 234
6.2 Calcite ...................................................................................................... 235
6.3 關係型API 概述..................................................................................... 236
6.3.1 程序結構 ...................................................................................... 236
6.3.2 Table 運行時 ................................................................................ 239
6.3.3 錶注冊 .......................................................................................... 241
6.3.4 TableSource 與TableSink ............................................................ 242
6.3.5 查詢 .............................................................................................. 244
6.3.6 相互轉換 ...................................................................................... 244
6.4 動態錶概述 ............................................................................................. 247
6.4.1 流式關係代數 .............................................................................. 247
6.4.2 動態錶 .......................................................................................... 248
6.4.3 持續查詢 ...................................................................................... 250
6.5 思考題 ..................................................................................................... 255
第7 章 復雜事件處理 .................................................................................. 256
7.1 什麼是復雜事件處理 ............................................................................. 256
7.1.1 股票異常交易檢測 ...................................................................... 256
7.1.2 重新審視DataStream 與Table API ............................................ 258
7.2 復雜事件處理的自動機理論 ................................................................. 259
7.2.1 有窮自動機模型NFA ................................................................. 259
7.2.2 NFAb 模型 .................................................................................... 261
7.2.3 帶版本號的共享緩存 .................................................................. 263
7.3 FlinkCEP API .......................................................................................... 265
7.3.1 基本模式 ...................................................................................... 266
7.3.2 模式拼閤 ...................................................................................... 267
7.3.3 模式分組 ...................................................................................... 268
7.3.4 匹配輸齣 ...................................................................................... 269
7.4 基於FlinkCEP 的股票異常交易檢測的實現 ....................................... 270
7.5 思考題 ..................................................................................................... 274
第8 章 監控與部署 ...................................................................................... 275
8.1 監控 ......................................................................................................... 275
8.1.1 度量指標 ...................................................................................... 275
8.1.2 指標的作用域 .............................................................................. 279
8.1.3 監控配置 ...................................................................................... 279
8.2 集群部署模式 ......................................................................................... 281
8.2.1 Standalone .................................................................................... 281
8.2.2 YARN ........................................................................................... 281
8.2.3 高可用 .......................................................................................... 284
8.3 訪問安全 ................................................................................................. 284
8.4 思考題 ..................................................................................................... 286
參考資料 ........................................................................................................ 287
· · · · · · (
收起)