大數(shù)據技術叢書FLINK 原理.實戰(zhàn)與性能優(yōu)化 版權信息
- ISBN:9787111623533
- 條形碼:9787111623533 ; 978-7-111-62353-3
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
大數(shù)據技術叢書FLINK 原理.實戰(zhàn)與性能優(yōu)化 本書特色
這是一部以實戰(zhàn)為導向,能指導讀者零基礎掌握Flink并快速完成進階的著作,從功能、原理、實戰(zhàn)和調優(yōu)等4個維度循序漸進地講解了如何利用Flink進行分布式流式應用開發(fā)。作者是該領域的資深專家,現(xiàn)就職于第四范式,曾就職于明略數(shù)據。
全書一共10章,邏輯上可以分為三個部分:
*部分(第1~2章)
主要介紹了Flink的核心概念、特性、應用場景、基本架構,開發(fā)環(huán)境的搭建和配置,以及源代碼的編譯。
第二部分(第3~9章)
詳細講解了Flink的編程范式,各種編程接口的功能、應用場景和使用方法,以及核心模塊和組件的原理和使用。
第三部分(第10章)
重點講解了Flink的監(jiān)控和優(yōu)化,參數(shù)調優(yōu),以及對反壓、Checkpoint和內存的優(yōu)化。
大數(shù)據技術叢書FLINK 原理.實戰(zhàn)與性能優(yōu)化 內容簡介
內容簡介這是一部以實戰(zhàn)為導向,能指導讀者零基礎掌握Flink并快速完成進階的著作,從功能、原理、實戰(zhàn)和調優(yōu)等4個維度循序漸進地講解了如何利用Flink進行分布式流式應用開發(fā)。作者是該領域的專家,現(xiàn)就職于第四范式,曾就職于明略數(shù)據。全書一共10章,邏輯上可以分為三個部分:部分(~2章)主要介紹了Flink的核心概念、特性、應用場景、基本架構,開發(fā)環(huán)境的搭建和配置,以及源代碼的編譯。第二部分(第3~9章)詳細講解了Flink的編程范式,各種編程接口的功能、應用場景和使用方法,以及核心模塊和組件的原理和使用。第三部分(0章)重點講解了Flink的監(jiān)控和優(yōu)化,參數(shù)調優(yōu),以及對反壓、Checkpoint和內存的優(yōu)化。
大數(shù)據技術叢書FLINK 原理.實戰(zhàn)與性能優(yōu)化 目錄
前言
第1章 Apache Flink介紹 1
1.1 Apache Flink是什么 1
1.2 數(shù)據架構的演變 2
1.2.1 傳統(tǒng)數(shù)據基礎架構 3
1.2.2 大數(shù)據數(shù)據架構 4
1.2.3 有狀態(tài)流計算架構 5
1.2.4 為什么會是Flink 6
1.3 Flink應用場景 8
1.4 Flink基本架構 10
1.4.1 基本組件棧 10
1.4.2 基本架構圖 11
1.5 本章小結 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 導入Flink應用代碼 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 本章小結 26
第3章 Flink編程模型
27
3.1 數(shù)據集類型 27
3.2 Flink編程接口 29
3.3 Flink程序結構 30
3.4 Flink數(shù)據類型 37
3.4.1 數(shù)據類型支持 37
3.4.2 TypeInformation信息獲取 40
3.5 本章小結 43
第4章 DataStream API 介紹與使用 44
4.1 DataStream編程模型 44
4.1.1 DataSources數(shù)據輸入 45
4.1.2 DataSteam轉換操作 49
4.1.3 DataSinks數(shù)據輸出 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ù)據剔除器 87
4.3.5 延遲數(shù)據處理 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 本章小結 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 本章小結 123
第6章 DataSet API介紹與使用 124
6.1 DataSet API 124
6.1.1 應用實例 125
6.1.2 DataSources數(shù)據接入 126
6.1.3 DataSet轉換操作 128
6.1.4 DataSinks數(shù)據輸出 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 本章小結 145
第7章 Table API & SQL介紹與使用 146
7.1 TableEnviroment概念 146
7.1.1 開發(fā)環(huán)境構建 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應用實例 167
7.2.2 數(shù)據查詢和過濾 168
7.2.3 窗口操作 168
7.2.4 聚合操作 173
7.2.5 多表關聯(lián) 175
7.2.6 集合操作 177
7.2.7 排序操作 178
7.2.8 數(shù)據寫入 179
7.3 Flink SQL使用 179
7.3.1 Flink SQL實例 179
7.3.2 執(zhí)行SQL 180
7.3.3 數(shù)據查詢與過濾 181
7.3.4 Group Windows窗口操作 182
7.3.5 數(shù)據聚合 184
7.3.6 多表關聯(lián) 186
7.3.7 集合操作 187
7.3.8 數(shù)據輸出 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ù)據源 193
7.5.1 TableSource定義 193
7.5.2 TableSink定義 196
7.5.3 TableFactory定義 199
7.6 本章小結 201
第8章 Flink組件棧介紹與使用 202
8.1 Flink復雜事件處理 202
8.1.1 基礎概念 203
8.1.2 Pattern API 204
8.1.3 事件獲取 210
8.1.4 應用實例 212
8.2 Flink Gelly圖計算應用 213
8.2.1 基本概念 213
8.2.2 Graph API 214
8.2.3 迭代圖處理 220
8.2.4 圖生成器 226
8.3 FlinkML機器學習應用 227
8.3.1 基本概念 227
8.3.2 有監(jiān)督學習算子 229
8.3.3 數(shù)據預處理 231
8.3.4 推薦算法 234
8.3.5 Pipelines In FlinkML
235
8.4 本章小結 236
第9章 Flink部署與應用
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 任務重啟 256
9.4.2 狀態(tài)維護 256
9.4.3 版本升級 257
9.5 本章小結 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內存優(yōu)化 273
10.4.1 Flink內存配置 274
10.4.2 Network Buffers配置 275
10.5 本章小結 277
展開全部
大數(shù)據技術叢書FLINK 原理.實戰(zhàn)與性能優(yōu)化 作者簡介
張利兵
資深架構師,流式計算領域專家,第四范式華東區(qū)AI項目架構師,原明略數(shù)據華東區(qū)大數(shù)據架構師。
有多年大數(shù)據、流式計算方面的開發(fā)經驗,對Hadoop、Spark、Flink等大數(shù)據計算引擎有著非常深入的理解,積累了豐富的項目實踐經驗。先后利用相關技術為銀行、證券、地鐵等領域的頭部企業(yè)構建了內部大數(shù)據平臺,參與了基于Flink的實時反欺詐風控、實時地鐵故障預警等流式計算平臺的設計和研發(fā)。