预购商品
书目分类
特别推荐
前言 第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 ……
客服公告
热门活动
订阅电子报