定 價:¥79.00
作 者: | 張利兵 著 |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787111623533 | 出版時間: | 2019-05-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
前言
第1章 Apache Flink介紹 1
1.1 Apache Flink是什么 1
1.2 數(shù)據(jù)架構(gòu)的演變 2
1.2.1 傳統(tǒng)數(shù)據(jù)基礎(chǔ)架構(gòu) 3
1.2.2 大數(shù)據(jù)數(shù)據(jù)架構(gòu) 4
1.2.3 有狀態(tài)流計算架構(gòu) 5
1.2.4 為什么會是Flink 6
1.3 Flink應(yīng)用場景 8
1.4 Flink基本架構(gòu) 10
1.4.1 基本組件棧 10
1.4.2 基本架構(gòu)圖 11
1.5 本章小結(jié) 13
第2章 環(huán)境準備 14
2.1 運行環(huán)境介紹 14
2.2 Flink項目模板 15
2.2.1 基于Java實現(xiàn)的項目模板 15
2.2.2 基于Scala實現(xiàn)的項目模板 18
2.3 Flink開發(fā)環(huán)境配置 20
2.3.1 下載IntelliJ IDEA IDE 21
2.3.2 安裝Scala Plugins 21
2.3.3 導(dǎo)入Flink應(yīng)用代碼 22
2.3.4 項目配置 22
2.4 運行Scala REPL 24
2.4.1 環(huán)境支持 24
2.4.2 運行程序 24
2.5 Flink源碼編譯 25
2.6 本章小結(jié) 26
第3章 Flink編程模型 27
3.1 數(shù)據(jù)集類型 27
3.2 Flink編程接口 29
3.3 Flink程序結(jié)構(gòu) 30
3.4 Flink數(shù)據(jù)類型 37
3.4.1 數(shù)據(jù)類型支持 37
3.4.2 TypeInformation信息獲取 40
3.5 本章小結(jié) 43
第4章 DataStream API 介紹與使用 44
4.1 DataStream編程模型 44
4.1.1 DataSources數(shù)據(jù)輸入 45
4.1.2 DataSteam轉(zhuǎn)換操作 49
4.1.3 DataSinks數(shù)據(jù)輸出 59
4.2 時間概念與Watermark 61
4.2.1 時間概念類型 61
4.2.2 EventTime和Watermark 63
4.3 Windows窗口計算 69
4.3.1 Windows Assigner 70
4.3.2 Windows Function 77
4.3.3 Trigger窗口觸發(fā)器 83
4.3.4 Evictors數(shù)據(jù)剔除器 87
4.3.5 延遲數(shù)據(jù)處理 88
4.3.6 連續(xù)窗口計算 89
4.3.7 Windows多流合并 90
4.4 作業(yè)鏈和資源組 95
4.4.1 作業(yè)鏈 95
4.4.2 Slots資源組 96
4.5 Asynchronous I/O異步操作 97
4.6 本章小結(jié) 98
第5章 Flink狀態(tài)管理和容錯 100
5.1 有狀態(tài)計算 100
5.2 Checkpoints和Savepoints 109
5.2.1 Checkpoints檢查點機制 109
5.2.2 Savepoints機制 111
5.3 狀態(tài)管理器 114
5.3.1 StateBackend類別 114
5.3.2 狀態(tài)管理器配置 116
5.4 Querable State 118
5.5 本章小結(jié) 123
第6章 DataSet API介紹與使用 124
6.1 DataSet API 124
6.1.1 應(yīng)用實例 125
6.1.2 DataSources數(shù)據(jù)接入 126
6.1.3 DataSet轉(zhuǎn)換操作 128
6.1.4 DataSinks數(shù)據(jù)輸出 134
6.2 迭代計算 136
6.2.1 全量迭代 136
6.2.2 增量迭代 137
6.3 廣播變量與分布式緩存 139
6.3.1 廣播變量 139
6.3.2 分布式緩存 140
6.4 語義注解 141
6.4.1 Forwarded Fileds注解 141
6.4.2 Non-Forwarded Fileds注解 143
6.4.3 Read Fields注解 144
6.5 本章小結(jié) 145
第7章 Table API & SQL介紹與使用 146
7.1 TableEnviroment概念 146
7.1.1 開發(fā)環(huán)境構(gòu)建 147
7.1.2 TableEnvironment基本操作 147
7.1.3 外部連接器 155
7.1.4 時間概念 162
7.1.5 Temporal Tables臨時表 166
7.2 Flink Table API 167
7.2.1 Table API應(yīng)用實例 167
7.2.2 數(shù)據(jù)查詢和過濾 168
7.2.3 窗口操作 168
7.2.4 聚合操作 173
7.2.5 多表關(guān)聯(lián) 175
7.2.6 集合操作 177
7.2.7 排序操作 178
7.2.8 數(shù)據(jù)寫入 179
7.3 Flink SQL使用 179
7.3.1 Flink SQL實例 179
7.3.2 執(zhí)行SQL 180
7.3.3 數(shù)據(jù)查詢與過濾 181
7.3.4 Group Windows窗口操作 182
7.3.5 數(shù)據(jù)聚合 184
7.3.6 多表關(guān)聯(lián) 186
7.3.7 集合操作 187
7.3.8 數(shù)據(jù)輸出 189
7.4 自定義函數(shù) 189
7.4.1 Scalar Function 189
7.4.2 Table Function 191
7.4.3 Aggregation Function 192
7.5 自定義數(shù)據(jù)源 193
7.5.1 TableSource定義 193
7.5.2 TableSink定義 196
7.5.3 TableFactory定義 199
7.6 本章小結(jié) 201
第8章 Flink組件棧介紹與使用 202
8.1 Flink復(fù)雜事件處理 202
8.1.1 基礎(chǔ)概念 203
8.1.2 Pattern API 204
8.1.3 事件獲取 210
8.1.4 應(yīng)用實例 212
8.2 Flink Gelly圖計算應(yīng)用 213
8.2.1 基本概念 213
8.2.2 Graph API 214
8.2.3 迭代圖處理 220
8.2.4 圖生成器 226
8.3 FlinkML機器學習應(yīng)用 227
8.3.1 基本概念 227
8.3.2 有監(jiān)督學習算子 229
8.3.3 數(shù)據(jù)預(yù)處理 231
8.3.4 推薦算法 234
8.3.5 Pipelines In FlinkML 235
8.4 本章小結(jié) 236
第9章 Flink部署與應(yīng)用 237
9.1 Flink集群部署 237
9.1.1 Standalone Cluster部署 238
9.1.2 Yarn Cluster部署 240
9.1.3 Kubernetes Cluster部署 244
9.2 Flink高可用配置 247
9.2.1 Standalone集群高可用配置 248
9.2.2 Yarn Session集群高可用配置 250
9.3 Flink安全管理 251
9.3.1 認證目標 251
9.3.2 認證配置 252
9.3.3 SSL配置 253
9.4 Flink集群升級 255
9.4.1 任務(wù)重啟 256
9.4.2 狀態(tài)維護 256
9.4.3 版本升級 257
9.5 本章小結(jié) 258
第10章 Flink監(jiān)控與性能優(yōu)化 259
10.1 監(jiān)控指標 259
10.1.1 系統(tǒng)監(jiān)控指標 259
10.1.2 監(jiān)控指標注冊 261
10.1.3 監(jiān)控指標報表 264
10.2 Backpressure監(jiān)控與優(yōu)化 266
10.2.1 Backpressure進程抽樣 266
10.2.2 Backpressure頁面監(jiān)控 267
10.2.3 Backpressure配置 268
10.3 Checkpointing監(jiān)控與優(yōu)化 268
10.3.1 Checkpointing頁面監(jiān)控 268
10.3.2 Checkpointing優(yōu)化 271
10.4 Flink內(nèi)存優(yōu)化 273
10.4.1 Flink內(nèi)存配置 274
10.4.2 Network Buffers配置 275
10.5 本章小結(jié) 277