Flink入門與實戰(清華大學出版社出版的圖書)

Flink入門與實戰(清華大學出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《Flink入門與實戰》是清華大學出版社出版的圖書,作者是汪明。

基本介紹

  • 中文名:Flink入門與實戰
  • 作者:汪明
  • 出版社:清華大學出版社
  • ISBN:9787302583813
內容簡介,作者簡介,圖書目錄,

內容簡介

Apache Flink是一個框架和分散式處理引擎,用於對無界和有界數據流進行有狀態的計算,廣泛套用於大數據相關的實際業務場景中。本書是一本從零開始講解Flink的入門教材,學習本書需要有Java編程基礎。
本書共分10章,內容包括Flink開發環境搭建、Flink架構和原理、時間和視窗、狀態管理和容錯機制、數據類型與序列化、DataStream API和DataSet API、Table API和SQL、Flink並行、Flink部署與套用,最後以一個Flink實戰項目為例,對Flink相關知識進行綜合實踐,其中涉及Web頁面展示、WebSocket協定和Node.js服務等技術。
本書內容詳盡、示例豐富,適合作為Flink初學者必備的參考書,也非常適合作為高等院校和培訓機構大數據及相關專業的師生教學參考。

作者簡介

汪明,中國礦業大學碩士,徐州軟體協會副理事長,某創業公司合伙人。從事軟體行業十餘年,發表論文數十篇。著有圖書《Python大數據處理庫PySpark實戰》《TypeScript實戰》《Go並發編程實戰》。

圖書目錄

第1章 Flink環境搭建 1
1.1 下載安裝 1
1.1.1 什麼是Flink 1
1.1.2 Flink用戶 3
1.1.3 JDK安裝 4
1.1.4 Scala安裝 7
1.1.5 Python安裝 10
1.1.6 FinalShell安裝 12
1.2 配置與開發工具 15
1.2.1 基礎配置 15
1.2.2 IDEA開發工具 17
1.3 編譯 19
1.3.1 Scala項目模板 19
1.3.2 Java項目模板 24
1.3.3 Python項目 28
1.3.4 項目編譯 30
1.4 運行Flink套用 31
1.4.1 單機Standalone模式 31
1.4.2 多機Standalone模式 37
1.4.3 On Yarn集群模式 37
1.5 本章小結 38
第2章 定義、架構與原理 39
2.1 流處理的套用場景 39
2.1.1 數據預處理場景 40
2.1.2 預警場景 40
2.1.3 實時數量統計場景 40
2.1.4 資料庫互動場景 40
2.1.5 跟蹤場景 40
2.1.6 基於數據流的機器學習場景 41
2.1.7 實時自動控制場景 41
2.2 流處理的原理 41
2.2.1 流數據特徵 41
2.2.2 Dataflow模型 42
2.2.3 數據流圖 43
2.2.4 流處理操作 45
2.2.5 視窗操作 46
2.3 Flink架構分析 49
2.3.1 Flink常見概念 49
2.3.2 Flink主從架構 51
2.3.3 任務和運算元鏈 52
2.4 Flink中的幾個語義——Streams、State、Time、API 53
2.4.1 Streams流 53
2.4.2 State狀態 54
2.4.3 Time時間 55
2.4.4 API接口 55
2.5 Flink組件 56
2.6 本章小結 57
第3章 時間和視窗 58
3.1 時間 58
3.1.1 Flink中的時間 58
3.1.2 時間的特性 60
3.2 Timestamp和Watermark 61
3.2.1 在SourceFunction中生成 61
3.2.2 在assignTimestampsAndWatermarks中生成 64
3.2.3 Watermarks傳播機制 83
3.3 EventTime+Watermark解決亂序數據 95
3.3.1 無遲到的亂序數據 96
3.3.2 有遲到的亂序數據 104
3.4 WindowAssigner、Evictor以及Trigger 109
3.4.1 WindowAssigner 111
3.4.2 Trigger 116
3.4.3 Evictor 122
3.5 Window內部實現 126
3.5.1 Flink Window源碼分析 126
3.5.2 Flink Window執行過程 130
3.6 Window使用 131
3.6.1 Time Window 131
3.6.2 Count Window 135
3.6.3 Session Window 138
3.6.4 自定義Window 140
3.7 Window聚合分類 144
3.7.1 增量聚合 144
3.7.2 全量聚合 146
3.8 本章小結 149
第4章 狀態管理及容錯機制 150
4.1 什麼是狀態 150
4.2 什麼場景會用到狀態 150
4.3 狀態的類型與使用 151
4.3.1 Keyed State託管狀態 152
4.3.2 Operator State託管狀態 159
4.4 Checkpoint機制 162
4.4.1 Checkpoint配置 163
4.4.2 State Backends狀態後端 164
4.4.3 重啟策略 165
4.5 SavePoint機制 169
4.6 本章小結 169
第5章 數據類型與序列化 170
5.1 Flink的數據類型 170
5.1.1 元組類型 171
5.1.2 Java POJOs類型 172
5.1.3 Scala樣例類 173
5.1.4 基礎類型 174
5.1.5 普通類 175
5.1.6 值類型 177
5.1.7 特殊類型 177
5.2 序列化原理 178
5.3 Flink的序列化過程 181
5.4 序列化的最佳實踐 186
5.5 本章小結 186
第6章 DataStream API和DataSet API 187
6.1 DataStream API 187
6.1.1 DataSources數據輸入 187
6.1.2 DataSteam轉換操作 195
6.1.3 DataSinks數據輸出 214
6.2 DataSet API 222
6.2.1 DataSources數據輸入 223
6.2.2 DataSet轉換操作 227
6.2.3 DataSinks數據輸出 235
6.3 疊代計算 238
6.3.1 全量疊代 239
6.3.2 增量疊代 240
6.4 廣播變數與分散式快取 244
6.4.1 廣播變數 244
6.4.2 分散式快取 246
6.5 語義註解 248
6.5.1 Forwarded Fileds註解 248
6.5.2 Non-Forwarded Fileds註解 249
6.5.3 Read Fields註解 250
6.6 本章小結 251
第7章 Table API和SQL 252
7.1 TableEnviroment 252
7.1.1 開發環境構建 253
7.1.2 TableEnvironment基本操作 254
7.1.3 外部連線器 257
7.1.4 時間概念 261
7.1.5 Temporal Tables時態表 263
7.2 WordCount 267
7.3 Table API的操作 268
7.3.1 獲取Table 268
7.3.2 輸出Table 272
7.3.3 查詢Table 275
7.3.4 聚合操作 277
7.3.5 多表關聯 278
7.3.6 集合操作 279
7.3.7 排序操作 281
7.4 DataStream、DataSet和Table之間的轉換 282
7.4.1 DataStream to Table 283
7.4.2 DataSet to Table 284
7.4.3 Table to DataStream 285
7.4.4 Table to DataSet 287
7.5 window aggregate與non-window aggregate 288
7.6 Flink SQL使用 297
7.6.1 使用SQL CLI客戶端 298
7.6.2 在流上運行SQL查詢 299
7.6.3 Group Windows視窗操作 300
7.6.4 多表關聯 306
7.6.5 集合操作 307
7.6.6 去重操作 308
7.6.7 Top-N操作 310
7.6.8 數據寫入 311
7.7 自定義函式 313
7.7.1 Scalar Function 313
7.7.2 Table Function 315
7.7.3 Aggregation Function 317
7.8 本章小結 319
第8章 並行 320
8.1 Flink並行度 320
8.2 TaskManager和Slot 321
8.3 並行度的設定 322
8.3.1 執行環境層面 322
8.3.2 操作運算元層面 323
8.3.3 客戶端層面 324
8.3.4 系統層面 324
8.3.5 最大並行度 324
8.4 並行度案例分析 325
8.5 本章小結 329
第9章 Flink部署與套用 330
9.1 Flink集群部署 330
9.1.1 Standalone Cluster部署 330
9.1.2 Yarn Cluster部署 333
9.1.3 Kubernetes Cluster部署 334
9.2 Flink高可用配置 340
9.2.1 Standalone集群高可用配置 340
9.2.2 Yarn Session集群高可用配置 341
9.3 Flink安全管理 341
9.3.1 認證目標 341
9.3.2 認證配置 342
9.3.3 SSL配置 343
9.4 Flink集群升級 344
9.4.1 任務重啟 344
9.4.2 狀態維護 344
9.4.3 版本升級 344
9.5 本章小結 345
第10章 Flink項目實戰 346
10.1 實時數據清洗(實時ETL) 346
10.1.1 需求分析 346
10.1.2 項目架構設計 346
10.1.3 項目代碼實現 347
10.2 實時數據報表 357
10.2.1 需求分析 357
10.2.2 項目架構設計 357
10.2.3 項目代碼實現 357
10.3 本章小結 362

相關詞條

熱門詞條

聯絡我們