注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術工業(yè)技術自動化技術、計算技術劍指大數(shù)據(jù):Flink學習精要(Java版)

劍指大數(shù)據(jù):Flink學習精要(Java版)

劍指大數(shù)據(jù):Flink學習精要(Java版)

定 價:¥105.00

作 者: 尚硅谷教育 著
出版社: 電子工業(yè)出版社
叢編項: 程序員硬核技術叢書
標 簽: 暫缺

ISBN: 9787121429125 出版時間: 2022-02-01 包裝: 平裝
開本: 16開 頁數(shù): 348 字數(shù):  

內(nèi)容簡介

  本書基于Flink的穩(wěn)定版本1.13,從Flink數(shù)據(jù)處理思想開始講解,帶領讀者深入理解Flink的基本架構,進而由淺入深,結合具體案例,詳細剖析了Flink中DataStream API的使用,并對Flink中的時間語義、狀態(tài)、容錯機制等重要概念進行了詳盡的闡述。另外,本書還對實際開發(fā)中常用的Flink SQL、CEP等高層級API進行了細致的講解,以電商網(wǎng)站中的實際應用為場景,提供了大量的代碼實現(xiàn)。本書分為三大部分:第1~5章,帶領讀者初步認識Flink并編寫基本的Flink程序;第6~10章,深入探討了Flink內(nèi)部的高級應用;第11~12章,講解了Flink提供的擴展功能。本書廣泛適用于大數(shù)據(jù)的學習者與從業(yè)人員,以及院校大數(shù)據(jù)相關專業(yè)的學生,也可作為大數(shù)據(jù)學習的參考書。

作者簡介

  尚硅谷教育是一家專業(yè)的IT教育培訓機構,開設了JavaEE、大數(shù)據(jù)、HTML5前端等多門學科,在互聯(lián)網(wǎng)上發(fā)布的JavaEE、大數(shù)據(jù)、HTML5前端、區(qū)塊鏈、C語言、Python等技術視頻教程廣受贊譽。

圖書目錄

第1章 初識Flink\t1
1.1 Flink的起源和設計理念\t1
1.2 Flink的應用\t3
1.2.1 Flink在企業(yè)中的應用\t3
1.2.2 Flink主要的應用場景\t3
1.3 流式數(shù)據(jù)處理的發(fā)展和演變\t4
1.3.1 流處理和批處理\t5
1.3.2 傳統(tǒng)事務處理\t6
1.3.3 有狀態(tài)的流處理\t6
1.3.4 Lambda架構\t9
1.3.5 新一代流處理器\t10
1.4 Flink的特性總結\t10
1.4.1 Flink的核心特性\t10
1.4.2 分層API\t10
1.5 Flink與Spark\t11
1.5.1 數(shù)據(jù)處理架構\t12
1.5.2 數(shù)據(jù)模型和運行架構\t13
1.5.3 Spark還是Flink\t13
1.6 本章總結\t14
第2章 Flink快速上手\t15
2.1 環(huán)境準備\t15
2.2 創(chuàng)建項目\t15
2.3 編寫代碼\t18
2.3.1 批處理\t18
2.3.2 流處理\t20
2.4 本章總結\t23
第3章 Flink部署\t25
3.1 快速啟動一個Flink集群\t26
3.1.1 環(huán)境配置\t26
3.1.2 本地啟動\t26
3.1.3 集群啟動\t27
3.1.4 向集群提交作業(yè)\t29
3.2 部署模式\t32
3.2.1 會話模式\t33
3.2.2 單作業(yè)模式\t33
3.2.3 應用模式\t34
3.3 獨立模式\t34
3.3.1 會話模式部署\t35
3.3.2 單作業(yè)模式部署\t35
3.3.3 應用模式部署\t35
3.3.4 高可用\t35
3.4 YARN模式\t37
3.4.1 相關準備和配置\t37
3.4.2 會話模式部署\t38
3.4.3 單作業(yè)模式部署\t39
3.4.4 應用模式部署\t40
3.4.5 高可用\t40
3.5 K8s模式\t41
3.6 本章總結\t41
第4章 Flink運行時架構\t42
4.1 系統(tǒng)架構\t42
4.1.1 整體構成\t42
4.1.2 JobManager\t43
4.1.3 TaskManager\t44
4.2 作業(yè)提交流程\t45
4.2.1 高層級抽象視角\t45
4.2.2 獨立模式\t45
4.2.3 YARN集群\t46
4.3 一些重要概念\t48
4.3.1 數(shù)據(jù)流圖\t48
4.3.2 并行度\t49
4.3.3 算子鏈\t51
4.3.4 作業(yè)圖與執(zhí)行圖\t53
4.3.5 任務和任務槽\t55
4.4 本章總結\t60
第5章 DataStream API(基礎篇)\t61
5.1 執(zhí)行環(huán)境\t61
5.1.1 創(chuàng)建執(zhí)行環(huán)境\t62
5.1.2 執(zhí)行模式\t62
5.1.3 觸發(fā)程序執(zhí)行\(zhòng)t64
5.2 源算子\t64
5.2.1 準備工作\t64
5.2.2 從集合中讀取數(shù)據(jù)\t65
5.2.3 從文件中讀取數(shù)據(jù)\t66
5.2.4 從Socket中讀取數(shù)據(jù)\t67
5.2.5 從Kafka中讀取數(shù)據(jù)\t67
5.2.6 自定義源算子\t69
5.2.7 Flink支持的數(shù)據(jù)類型\t71
5.3 轉(zhuǎn)換算子\t73
5.3.1 基本轉(zhuǎn)換算子\t73
5.3.2 聚合算子\t76
5.3.3 用戶自定義函數(shù)\t81
5.3.4 物理分區(qū)算子\t87
5.4 輸出算子\t93
5.4.1 連接到外部系統(tǒng)\t93
5.4.2 輸出到文件\t94
5.4.3 輸出到Kafka\t96
5.4.4 輸出到Redis\t97
5.4.5 輸出到ElasticSearch\t99
5.4.6 輸出到MySQL(JDBC)\t101
5.4.7 自定義Sink輸出\t102
5.5 本章總結\t104
第6章 Flink中的時間和窗口\t105
6.1 時間語義\t105
6.1.1 Flink中的時間語義\t105
6.1.2 哪種時間語義更重要\t107
6.2 水位線\t108
6.2.1 事件時間和窗口\t108
6.2.2 什么是水位線\t110
6.2.3 如何生成水位線\t114
6.2.4 水位線的傳遞\t120
6.2.5 水位線的總結\t121
6.3 窗口\t122
6.3.1 窗口的概念\t122
6.3.2 窗口的分類\t124
6.3.3 窗口API概覽\t128
6.3.4 窗口分配器\t129
6.3.5 窗口函數(shù)\t131
6.3.6 測試水位線和窗口的使用\t142
6.3.7 其他API\t144
6.3.8 窗口的生命周期\t148
6.4 遲到數(shù)據(jù)的處理\t150
6.4.1 設置水位線延遲時間\t150
6.4.2 允許窗口處理遲到數(shù)據(jù)\t150
6.4.3 將遲到數(shù)據(jù)放入窗口側輸出流\t151
6.5 本章總結\t154
第7章 處理函數(shù)\t155
7.1 基本處理函數(shù)\t155
7.1.1 處理函數(shù)的功能和使用\t155
7.1.2 ProcessFunction解析\t157
7.1.3 處理函數(shù)的分類\t158
7.2 KeyedProcessFunction\t159
7.2.1 定時器和定時服務\t159
7.2.2 KeyedProcessFunction的使用\t160
7.3 窗口處理函數(shù)\t164
7.3.1 窗口處理函數(shù)的使用\t164
7.3.2 ProcessWindowFunction解析\t164
7.4 應用案例――Top N\t166
7.4.1 使用ProcessAllWindowFunction\t166
7.4.2 使用KeyedProcessFunction\t168
7.5 側輸出流\t173
7.6 本章總結\t174
第8章 多流轉(zhuǎn)換\t175
8.1 分流\t175
8.1.1 簡單實現(xiàn)\t175
8.1.2 使用側輸出流\t177
8.2 基本合流操作\t178
8.2.1 聯(lián)合\t178
8.2.2 連接\t182
8.3 基于時間的合流――雙流聯(lián)結\t188
8.3.1 窗口聯(lián)結\t188
8.3.2 間隔聯(lián)結\t192
8.3.3 窗口同組聯(lián)結\t195
8.4 本章總結\t197
第9章 狀態(tài)編程\t198
9.1 Flink中的狀態(tài)\t198
9.1.1 有狀態(tài)算子\t198
9.1.2 狀態(tài)的管理\t199
9.1.3 狀態(tài)的分類\t200
9.2 按鍵分區(qū)狀態(tài)\t201
9.2.1 基本概念和特點\t201
9.2.2 支持的結構類型\t202
9.2.3 代碼實現(xiàn)\t204
9.2.4 狀態(tài)生存時間\t213
9.3 算子狀態(tài)\t214
9.3.1 基本概念和特點\t214
9.3.2 狀態(tài)類型\t215
9.3.3 代碼實現(xiàn)\t216
9.4 廣播狀態(tài)\t219
9.4.1 基本用法\t219
9.4.2 代碼實例\t220
9.5 狀態(tài)持久化和狀態(tài)后端\t223
9.5.1 檢查點\t223
9.5.2 狀態(tài)后端\t224
9.6 本章總結\t226
第10章 容錯機制\t227
10.1 檢查點\t227
10.1.1 檢查點的保存\t228
10.1.2 從檢查點恢復狀態(tài)\t230
10.1.3 檢查點算法\t232
10.1.4 檢查點配置\t237
10.1.5 保存點\t239
10.2 狀態(tài)一致性\t240
10.2.1 一致性的概念和級別\t240
10.2.2 端到端的狀態(tài)一致性\t241
10.3 端到端的精確一次\t241
10.3.1 輸入端保證\t242
10.3.2 輸出端保證\t242
10.3.3 Flink和Kafka連接時的精確一次保證\t244
10.4 本章總結\t248
第11章 Table API和SQL\t249
11.1 快速上手\t250
11.1.1 需要引入的依賴\t250
11.1.2 一個簡單示例\t251
11.2 基本API\t252
11.2.1 程序架構\t252
11.2.2 創(chuàng)建表環(huán)境\t253
11.2.3 創(chuàng)建表\t254
11.2.4 表的查詢\t255
11.2.5 輸出表\t257
11.2.6 表和流的轉(zhuǎn)換\t257
11.3 流處理中的表\t262
11.3.1 動態(tài)表和持續(xù)查詢\t262
11.3.2 將流轉(zhuǎn)換成動態(tài)表\t263
11.3.3 用SQL持續(xù)查詢\t265
11.3.4 將動態(tài)表轉(zhuǎn)換為流\t269
11.4 時間屬性和窗口\t270
11.4.1 事件時間\t271
11.4.2 處理時間\t272
11.4.3 窗口\t273
11.5 聚合查詢\t275
11.5.1 分組聚合\t275
11.5.2 窗口聚合\t276
11.5.3 開窗聚合\t279
11.5.4 應用實例――Top N\t280
11.6 聯(lián)結查詢\t284
11.6.1 常規(guī)聯(lián)結查詢\t284
11.6.2 間隔聯(lián)結查詢\t285
11.7 函數(shù)\t286
11.7.1 系統(tǒng)函數(shù)\t287
11.7.2 自定義函數(shù)\t288
11.8 SQL客戶端\t294
11.9 連接到外部系統(tǒng)\t296
11.9.1 Kafka\t296
11.9.2 文件系統(tǒng)\t298
11.9.3 JDBC\t299
11.9.4 ElasticSearch\t300
11.9.5 HBase\t300
11.9.6 Hive\t301
11.10 本章總結\t304
第12章 Flink CEP\t306
12.1 基本概念\t306
12.1.1 CEP是什么\t306
12.1.2 模式\t307
12.1.3 應用場景\t307
12.2 快速上手\t308
12.2.1 需要引入的依賴\t308
12.2.2 一個簡單實例\t308
12.3 模式API\t311
12.3.1 個體模式\t311
12.3.2 組合模式\t316
12.3.3 模式組\t319
12.3.4 匹配后跳過策略\t320
12.4 模式的檢測處理\t321
12.4.1 將模式應用到流上\t321
12.4.2 處理匹配事件\t321
12.4.3 處理超時事件\t324
12.4.4 處理遲到數(shù)據(jù)\t329
12.5 CEP的狀態(tài)機實現(xiàn)\t330
12.6 本章總結\t334

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號