定 價(jià):¥79.00
作 者: | 張利兵 著 |
出版社: | 機(jī)械工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787111623533 | 出版時(shí)間: | 2019-05-01 | 包裝: | 平裝 |
開本: | 16開 | 頁(yè)數(shù): | 字?jǐn)?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)流計(jì)算架構(gòu) 5
1.2.4 為什么會(huì)是Flink 6
1.3 Flink應(yīng)用場(chǎ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)境準(zhǔn)備 14
2.1 運(yùn)行環(huán)境介紹 14
2.2 Flink項(xiàng)目模板 15
2.2.1 基于Java實(shí)現(xiàn)的項(xiàng)目模板 15
2.2.2 基于Scala實(shí)現(xiàn)的項(xiàng)目模板 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 項(xiàng)目配置 22
2.4 運(yùn)行Scala REPL 24
2.4.1 環(huán)境支持 24
2.4.2 運(yùn)行程序 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 時(shí)間概念與Watermark 61
4.2.1 時(shí)間概念類型 61
4.2.2 EventTime和Watermark 63
4.3 Windows窗口計(jì)算 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ù)窗口計(jì)算 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)管理和容錯(cuò) 100
5.1 有狀態(tài)計(jì)算 100
5.2 Checkpoints和Savepoints 109
5.2.1 Checkpoints檢查點(diǎn)機(jī)制 109
5.2.2 Savepoints機(jī)制 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)用實(shí)例 125
6.1.2 DataSources數(shù)據(jù)接入 126
6.1.3 DataSet轉(zhuǎn)換操作 128
6.1.4 DataSinks數(shù)據(jù)輸出 134
6.2 迭代計(jì)算 136
6.2.1 全量迭代 136
6.2.2 增量迭代 137
6.3 廣播變量與分布式緩存 139
6.3.1 廣播變量 139
6.3.2 分布式緩存 140
6.4 語(yǔ)義注解 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 時(shí)間概念 162
7.1.5 Temporal Tables臨時(shí)表 166
7.2 Flink Table API 167
7.2.1 Table API應(yīng)用實(shí)例 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實(shí)例 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)用實(shí)例 212
8.2 Flink Gelly圖計(jì)算應(yīng)用 213
8.2.1 基本概念 213
8.2.2 Graph API 214
8.2.3 迭代圖處理 220
8.2.4 圖生成器 226
8.3 FlinkML機(jī)器學(xué)習(xí)應(yīng)用 227
8.3.1 基本概念 227
8.3.2 有監(jiān)督學(xué)習(xí)算子 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 認(rèn)證目標(biāo) 251
9.3.2 認(rèn)證配置 252
9.3.3 SSL配置 253
9.4 Flink集群升級(jí) 255
9.4.1 任務(wù)重啟 256
9.4.2 狀態(tài)維護(hù) 256
9.4.3 版本升級(jí) 257
9.5 本章小結(jié) 258
第10章 Flink監(jiān)控與性能優(yōu)化 259
10.1 監(jiān)控指標(biāo) 259
10.1.1 系統(tǒng)監(jiān)控指標(biāo) 259
10.1.2 監(jiān)控指標(biāo)注冊(cè) 261
10.1.3 監(jiān)控指標(biāo)報(bào)表 264
10.2 Backpressure監(jiān)控與優(yōu)化 266
10.2.1 Backpressure進(jìn)程抽樣 266
10.2.2 Backpressure頁(yè)面監(jiān)控 267
10.2.3 Backpressure配置 268
10.3 Checkpointing監(jiān)控與優(yōu)化 268
10.3.1 Checkpointing頁(yè)面監(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