-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
FLINK SQL與DATASTREAM:入門、進階與實戰 版權信息
- ISBN:9787111739029
- 條形碼:9787111739029 ; 978-7-111-73902-9
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
FLINK SQL與DATASTREAM:入門、進階與實戰 本書特色
(1)作者背景資深:某頭部短視頻平臺Flink專家,擁有多年流式計算開發、優化、保障和治理經驗,對Flink大數據計算引擎有著深入的理解。
(2)作者經驗豐富:有從0到1使用Flink SQL建設實時數倉的經驗,在Flink場景化應用方面有豐富的經驗,能夠使用Flink等技術組件解決千萬級別QPS的實時數據場景下的痛點問題。
(3)雙重視角展開:從Flink使用和定制開發雙重視角,循序漸進講解Flink的分布式系統架構設計、流計算API設計、時間處理、狀態管理等核心技術的原理和實現。
(4)理論深入詳細:除了Flink的架構設計和核心技術的原理外,本書還詳細講解了SQL API、Table API、DataStream API 和有狀態流處理 API四大API的細節。
(5)注重工程實戰:用大量案例和圖表詳解用Java和Flink SQL開發Flink流處理作業的方法和過程,掌握工程化實踐能力。
FLINK SQL與DATASTREAM:入門、進階與實戰 內容簡介
內容簡介 這是一本從使用和定制開發雙重視角,循序漸進地講解Flink的分布式系統架構設計、流計算API設計、時間處理、狀態管理等核心技術的原理和實現的著作。 它面向Flink的初學者,內容沿著基礎知識、實際問題和解決方案這條主線展開,不僅層層剖析了Flink學習中的重點和難點,而且還通過大量案例展示了如何快速獲得工程化實踐能力。 全書共11章,主要內容如下: (1)Flink基礎知識(第1、2章) 主要介紹了Flink的定位、核心特性、API分類,演示了如何搭建Flink作業的基礎環境、如何創建一個Flink項目以及如何開發入門應用程序WordCount,并結合該應用程序說明了常見Flink作業的骨架結構。 (2)Flink分布式架構及核心概念(第3章) 主要內容包括Flink作業的運行時架構、部署模式、資源提供框架,以及開發 Flink作業時涉及的核心概念,對于后續學習Flink DataStream API和Flink SQL API很有幫助。 (3)Flink DataStream API(第4~6章) 講解了Flink DataStream API的核心知識,包括執行環境、數據源、數據簡單轉換、數據分組與聚合、數據匯等,并講解了Flink DataStream API中的時間語義、時間窗口、有狀態計算和檢查點這四大“王*牌武器”的由來與實現原理。 (4)Flink有狀態流處理API(第7章) Flink DataStream API不能優雅地解決窗口使用不靈活和分流成本高這兩個問題,于是Flink提供了有狀態流處理API。本章主要講解了Flink有狀態流處理API解決上述兩個問題的方法。 (5)Flink Table API與SQL API(第8~11章) Flink Table API和Flink SQL API的底層原理相同,可以相互轉換,但Flink SQL API更為簡單和常用。這4章分別介紹了Flink Table API、Flink SQL API 的功能,以及使用SQL實現流處理的核心技術,結合大量代碼示例著重介紹了Flink SQL API的語法、函數、參數配置及性能優化方法。
FLINK SQL與DATASTREAM:入門、進階與實戰 目錄
前 言
第1章 初識Flink 1
1.1 Flink定位 1
1.1.1 Flink是什么 2
1.1.2 Flink對于數據的定義 3
1.1.3 Flink的3種應用場景 4
1.1.4 Flink的3個企業應用案例 7
1.2 Flink的核心特性 9
1.2.1 Flink的5個核心特性 9
1.2.2 3種流處理引擎特性的對比 10
1.3 Flink的API 11
1.3.1 Code API 11
1.3.2 關系型API 13
1.4 與Flink搭配使用的引擎 15
1.5 本章小結 16
第2章Flink WordCount作業開發
及運行 17
2.1 基礎環境準備 17
2.2 創建一個Flink項目 18
2.3 Flink WordCount代碼案例 21
2.4 Flink作業的骨架結構 24
2.5 本章小結 25
第3章Flink分布式架構及核心
概念 26
3.1分布式應用與非分布式應用的
異同 27
3.2 Flink作業的運行時架構 28
3.2.1 Flink作業提交部署流程 28
3.2.2 Client 30
3.2.3 JobManager 30
3.2.4 TaskManager 31
3.3 Flink作業的3種部署模式 31
3.3.1 Session模式 32
3.3.2 Per-Job模式 33
3.3.3 Application模式 35
3.4 Flink作業的2種資源提供框架 36
3.4.1 Standalone 36
3.4.2 YARN 40
3.5開發Flink作業時涉及的核心
概念 42
3.5.1 Function 44
3.5.2 Operator 44
3.5.3 算子并行度 46
3.5.4 Operator Chain 49
3.5.5 Task和SubTask 52
3.5.6 Task Slot和共享Task Slot 53
3.5.7 算子*大并行度 54
3.6 Flink Web UI 56
3.6.1 概覽模塊 57
3.6.2 Flink作業詳情 58
3.7 本章小結 64
第4章 Flink DataStream API 65
4.1 什么是DataStream 65
4.2 執行環境 66
4.3 數據源 67
4.3.1從數據源存儲引擎中讀取數據
的API 67
4.3.2 從Socket中讀取數據 69
4.3.3 從Kafka中讀取數據 69
4.3.4 從自定義數據源中讀取數據 74
4.4 數據簡單轉換 76
4.4.1 單流的3種數據簡單轉換 76
4.4.2 多流的4種數據簡單轉換 80
4.5 數據分組與聚合 84
4.5.1 KeyBy 85
4.5.2 Max、Min和Sum 88
4.5.3 Reduce 92
4.6 數據匯 95
4.6.1向數據匯存儲引擎寫數據的
API 95
4.6.2 向控制臺輸出數據 95
4.6.3 向Kafka寫入數據 96
4.6.4 向自定義數據匯寫入數據 99
4.7 算子間數據傳輸的8種策略 100
4.7.1 Forward 100
4.7.2 Rebalance 103
4.7.3 Shuff?le 106
4.7.4 KeyGroup 106
4.7.5 Rescale 107
4.7.6 Broadcast 108
4.7.7 Global 110
4.7.8 Custom Partition 110
4.8 數據異步I/O處理 112
4.8.1同步I/O處理導致作業
低吞吐 112
4.8.2同步I/O處理低吞吐的4種
解決方案 113
4.8.3 異步I/O處理原理 113
4.8.4 異步I/O處理API 114
4.8.5異步I/O處理API的注意
事項 117
4.9 RichFunction 118
4.10 數據序列化 121
4.10.1Flink數據序列化機制的
誕生過程 122
4.10.2Flink支持的7種數據
類型 123
4.10.3TypeInformation與
TypeSerializer 125
4.10.4Java Lambda表達式對數據
序列化的影響 127
4.10.5 使用注意事項 129
4.11 工具類及Debug建議 131
4.11.1 ParameterTool 131
4.11.2 Debug建議 132
4.12 本章小結 132
第5章Flink的時間語義和
時間窗口 134
5.1 時間語義和時間窗口概述 134
5.2 時間窗口 137
5.2.1 Flink中的時間窗口 138
5.2.2 為什么需要時間窗口 139
5.2.3時間窗口程序的骨架
結構 141
5.2.4 時間窗口的計算機制 143
5.2.5 窗口分配器 145
5.2.6 窗口處理函數 154
5.2.7 窗口觸發器 169
5.3 時間語義 176
5.3.1 處理時間 177
5.3.2 事件時間 178
5.3.3 攝入時間 180
5.4 Watermark 180
5.4.1 Watermark的誕生背景 180
5.4.2 Watermark的定義及特點 185
5.4.3 Watermark的傳輸策略 187
5.4.4使用Watermark緩解數據
亂序問題 193
5.4.5 生成Watermark的API 196
5.5 雙流數據時間窗口關聯 204
5.5.1 時間窗口關聯 205
5.5.2 時間窗口CoGroup操作 208
5.5.3 時間區間關聯 210
5.6 計數窗口 213
5.7生產中的常見問題及解決
方案 215
5.7.1事件時間窗口不觸發計算的
3種原因及解決方案 216
5.7.2事件時間窗口數據亂序問題
的體系化解決方案 223
5.7.3windowAll()方法導致數據
傾斜問題的解決方案 230
5.7.4擴展思考?:Watermark是否
只能從時間戳中取值 233
5.8 本章小結 233
第6章Flink狀態原理及異常
容錯機制 235
6.1 Flink有狀態計算 235
6.1.1 狀態及有狀態計算的定義 235
6.1.2Flink有狀態計算的
4類應用 237
6.1.3傳統有狀態計算方案應用于
大數據場景時存在的
3個問題 237
6.1.4Flink實現有狀態計算的
思路 240
6.1.5Flink實現有狀態計算面臨的
2個難題 248
6.1.6 Flink有狀態計算總結 251
6.2 Flink狀態接口 252
6.2.1 Flink狀態的分類 252
6.2.2 算子狀態 257
6.2.3 鍵值狀態 269
6.2.4 廣播狀態 286
6.2.5 鍵值狀態保留時長 294
6.2.6 F
FLINK SQL與DATASTREAM:入門、進階與實戰 作者簡介
羊藝超
資深大數據開發工程師,現就職于某頭部短視頻公司。擁有多年流式計算開發、優化、保障和治理經驗,以及從0到1使用Flink SQL建設實時數倉的經驗。對Flink大數據計算引擎有著深入的理解,在Flink的場景化應用方面有豐富的經驗,能夠使用Flink等技術組件解決千萬級別QPS的實時數據場景下的痛點問題。開源了自己的 Flink 學習項目 https://github.com/yangyichao-mango/flink-study。對Redis、Kafka、ClickHouse等實時數倉構建過程中依賴的引擎都較為熟悉。個人微信公眾號:大數據羊說。發表了數十篇關于實時數倉建設的原創文章,深受讀者喜愛。
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
名家帶你讀魯迅:朝花夕拾
- >
月亮虎
- >
我從未如此眷戀人間
- >
羅曼·羅蘭讀書隨筆-精裝
- >
小考拉的故事-套裝共3冊
- >
中國歷史的瞬間
- >
唐代進士錄