-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深入理解Flink:實時大數據處理實踐

( 簡體 字)
作者:余海峰類別:1. -> 程式設計 -> 大數據
譯者:
出版社:電子工業出版社深入理解Flink:實時大數據處理實踐 3dWoo書號: 50978
詢問書籍請說出此書號!

缺書
NT售價: 445

出版日:4/1/2019
頁數:304
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121360459
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

實時大數據是與時俱進的變革
從互聯網時代的數據爆炸,到即將大規模鋪開的 5G 通信支撐下的物聯網時代的大數據浩海,作為賦能工具的大規模數據處理,技術架構起到了決定性的作用,反過來也推動了技術架構與時俱進。
在谷歌公司發表的三篇劃時代論文(分別介紹 MapReduce、GFS 和 BigTable)的推動下,開源項目 Hadoop 橫空出世,并于 2008 年 1 月正式成為 Apache 的頂級項目;此后,Hadoop 迅速建立起大數據生態體系,并由此衍生出一系列大數據處理的理論和與之對應的大數據處理框架:從批處理到流處理,從 Hadoop 到 Storm /
Spark,再到 Flink。本書將闡述大數據實時處理理論的變遷,并著重介紹流處理框架 Flink。
數據處理任務往往需要對全量數據進行計算,而全量數據很難使用傳統關系型數據庫進行批量計算,原因如下:
(1)磁盤尋址時間的提升速度遠遠落后于磁盤帶寬的提升速度。如果數據訪問包含大量的磁盤尋址,則大數據處理勢必帶來較大的延遲,因此基于傳輸帶寬設計大數據處理系統更符合現狀。
(2)相比全量數據計算,關系型數據庫適用于在線事務處理(OLTP,On-Line Transaction Processing)場景,查詢和更新是其設計的要點,索引是主要的設計方案。但是在大數據集的場景下,索引的效率往往不如全量掃描。因此,Hadoop 應運而生,借助 MapReduce 計算引擎成功解決了大數據所面臨的可計算(可參考谷歌的論文 MapReduce:Simplified Data Processing on Large Clusters)、伸縮、容錯等困難,成為大數據系統的標配組件。
數據爆炸式增長,以及數據處理的實時性要求越來越高,大數據處理系統越來越復雜。在這種情況下,傳統的 OLTP+OLAP(On-Line Analysis Processing,在線分析處理)系統架構不堪重負:復雜的數據需求實現流程、過載的數據倉庫抽取任務隊列、不同的技術棧帶來的需求理解偏差等將導致數據從 IT 部門到 DT 部門的周期過長;微服務方法的大規模應用,導致在分布式系統中維護全局狀態的一致性異常困難,而以數據流作為中心數據源的流處理方法能有效規避這種困難。
有的學者甚至提出通過合理的架構設計,打破 CAP 定理。因此,低延遲、強一致性、適用于亂序的流處理框架 Flink 正席卷而來,即將成為大數據領域流處理的標配組件。
本書特色
本書將從多個角度講解同一個技術概念:
(1)分析引入 Flink 這個技術概念的原因,使讀者能夠快速理解相關技術的應用場景,如為什么需要實時數據處理、為什么需要機器學習架構、為什么需要關系型 API、為什么需要復雜事件處理。
(2)剖析 Flink 技術的理論創新過程,使讀者能夠深入理解 Flink 的理論基礎,使 Flink 應用開發架構師或工程師能夠游刃有余地解決線上系統遇到的實際問題,如 Flink 一致性保證的異步檢查點屏障的理論創新過程、機器學習中分類和推薦算法的分布式實現的理論創新過程、復雜事件處理的自動機理論創新。
(3)解析 Flink 編程 API 的架構。使讀者可以從理論框架與 Flink 架構實現兩個角度體會這個技術概念的內涵。
(4)總結應用 API 編程解決實際問題的方法。使讀者能夠在理解理論和編程API 的基礎上編程解決實際問題。
(5)在每章的最后一節提出一些開放式的思考題,以便讀者思考這些技術概念之間的關聯。
內容組織概要
本書共分為 8 章,每章的基本內容概要如下。
第 1 章流式數據架構理論 首先,概述大數據處理架構的演進歷程,使讀者了解大數據處理架構正在經歷怎樣的變革。以韓國 SK 電信的 Driving Score 技術架構演變和流式數據架構在機器學習領域的應用為例,介紹流式數據架構的產生背景及應用場景;其次,梳理流式數據架構中主要概念間的關聯和關系,并以實例分析根據事件時間開滾動窗口的內在機制;最后,論述流式數據架構中一致性理論的基礎及實現方式。
第 2 章編程基礎 首先,概述 Flink 的特征,使讀者快速了解 Flink 是什么;其次,搭建流處理和批處理 IDEA 開發環境,使讀者感性地了解 Flink 是怎么解決數據處理問題的;最后,介紹 Flink 的編程模型與運行時結構,如 API 分層關系、應用程序基本結構、運行時結構、任務調度和物理執行計劃。
第 3 章流處理 API 首先,概述流處理 Pipeline、Source 和 Sink 的常見形式;其次,介紹時間特征設置與水印生成器、算子、窗口機制、連接器、狀態管理與檢查點編程。
第 4 章批處理 API 首先,概述批處理的程序結構,Source、Sink 與連接器的常見形式,以及常見的算子函數;其次,以兩個機器學習的例子來介紹迭代的應用;最后,介紹批處理程序優化的語義注解形式。
第 5 章機器學習引擎架構與應用編程 首先,在總結 Scikit-learn 架構實踐的基礎上,詳細分析 FlinkML 的底層實現代碼;其次,分析多項式曲線擬合、分類算法、推薦算法的理論和代碼實現。本章有大量代碼分析,是流處理與批處理 API編程的實戰部分。
第 6 章關系型 API 首先,介紹 Flink 引入關系型 API 的原因,以及 SQL 解析與優化框架 Calcite;其次,詳述關系型 API 的主要內容;最后,介紹架構在DataStream 上的關系型 API 的背后機制,即動態表。
第 7 章復雜事件處理 首先,以股票異常交易檢測為例講述模式匹配的編程過程,以及流處理 API 和關系型 API 在解決這類問題時遇到的困難;其次,介紹 NFAb模式匹配編程模型;最后,基于 Flink CEP API 編程解決股票異常交易檢測問題。
第 8 章監控與部署 講述指標度量的編程模型和 Flink 集群部署模式。
內容簡介:

本書介紹了當下最流行的實時數據處理引擎Flink,講解了流處理API、批處理API、機器學習引擎FlinkML、關系型API、復雜事件處理FLinkCEP,以及指標度量與部署模式。此外,本書展開分析了流式數據處理理論中時間、窗口、水印、觸發器、遲到生存期之間的關聯關系;深入分析了多項式曲線擬合、分類算法SVM、推薦算法ALS-WR的理論和FlinkML實現。希望快速上手Flink以開展實時大數據處理與在線機器學習應用的從業者,本書是不二的選擇:本書首先介紹相關概念引入的原因、解決方案的演進過程、Flink的對應架構、編程案例以及開放式的思考問題。
目錄:

第 1 章 流式數據架構理論 ......... 1
1.1 大數據處理架構演進歷程 ......... 1
1.2 案例分析 ............. 8
1.2.1 SK 電信駕駛安全性評分 ........ 8
1.2.2 流式機器學習應用 ........ 12
1.3 流式數據架構基本概念 ......... 17
1.3.1 流 ............ 17
1.3.2 時間 ............ 18
1.3.3 窗口 ............ 21
1.3.4 水印 ............ 23
1.3.5 觸發器 ............ 23
1.3.6 數據處理模式 .......... 23
1.3.7 如何理解流式數據架構的內在機制 ...... 27
1.4 根據事件時間開滾動窗口 ......... 28
1.4.1 what:轉換/where:窗口 ....... 29
1.4.2 when:水印 ........... 29
1.4.3 when:觸發器 ......... 32
1.4.4 when:遲到生存期 ......... 34
1.4.5 how:累加模式 ......... 35
1.5 一致性 ............. 37
1.5.1 有狀態計算 .......... 37
1.5.2 exactly-once 語義 ......... 38
1.5.3 異步屏障快照 .......... 39
1.5.4 保存點 ............ 44
1.6 思考題 ............. 45
第 2 章 編程基礎 ........... 46
2.1 Flink 概述 ........... 46
2.2 讓輪子轉起來 ........... 47
2.2.1 本書約定 .......... 47
2.2.2 搭建單機版環境 .......... 48
2.2.3 配置 IDEA ........... 51
2.3 編程模型 ........... 53
2.3.1 分層組件棧 .......... 53
2.3.2 流式計算模型 .......... 54
2.3.3 流處理編程 .......... 57
2.4 運行時 ............. 62
2.4.1 運行時結構 .......... 62
2.4.2 任務調度 .......... 66
2.4.3 物理執行計劃 .......... 69
2.5 思考題 ............. 70
第 3 章 流處理 API .......... 71
3.1 流處理 API 概述........... 71
3.2 時間處理 ........... 73
3.2.1 時間 ............ 73
3.2.2 水印 ............ 74
3.2.3 周期性水印生成器 ........ 75
3.2.4 間歇性水印生成器 ........ 77
3.2.5 遞增式水印生成器 ........ 78
3.3 算子 ............. 79
3.3.1 算子函數 .......... 80
3.3.2 數據分區 .......... 83
3.3.3 資源共享 .......... 85
3.3.4 RichFunction .......... 85
3.3.5 輸出帶外數據 .......... 86
3.4 窗口 ............. 86
3.4.1 窗口分類 .......... 87
3.4.2 窗口函數 .......... 90
3.4.3 觸發器 ............ 94
3.4.4 清除器 ............ 96
3.4.5 遲到生存期 .......... 96
3.5 連接器 ............. 97
3.5.1 HDFS 連接器 ......... 98
3.5.2 Kafka ............ 99
3.5.3 異步 I/O .......... 102
3.6 狀態管理 ........... 104
3.6.1 狀態分類 .......... 104
3.6.2 托管的 Keyed State ........ 104
3.6.3 狀態后端配置 .......... 106
3.7 檢查點 ............. 107
3.8 思考題 ............. 108
第 4 章 批處理 API .......... 109
4.1 批處理 API 概述........... 109
4.1.1 程序結構 .......... 110
4.1.2 Source ........... 111
4.1.3 Sink ........... 112
4.1.4 連接器 .......... 112
4.2 算子 ............. 113
4.2.1 算子函數 .......... 113
4.2.2 廣播變量 .......... 121
4.2.3 文件緩存 .......... 122
4.2.4 容錯 ............ 123
4.3 迭代 ............. 123
4.3.1 深度神經網絡訓練 ........ 123
4.3.2 網絡社團發現算法 ........ 125
4.3.3 Bulk Iteration .......... 127
4.3.4 Delta Iteration 的迭代形式 ........ 128
4.4 注解 ............. 130
4.4.1 直接轉發 .......... 130
4.4.2 非直接轉發 .......... 131
4.4.3 觸達 ............ 132
4.5 思考題 ............. 132
第 5 章 機器學習引擎架構與應用編程 ....... 133
5.1 概述 ............. 133
5.1.1 數據加載 .......... 134
5.1.2 多項式曲線擬合的例子 ........ 135
5.2 流水線 ............. 137
5.2.1 機器學習面臨的架構問題 ........ 137
5.2.2 Scikit-learn 架構實踐總結 ........ 138
5.2.3 FlinkML 實現 ......... 140
5.3 深入分析多項式曲線擬合 ......... 170
5.3.1 數值計算的底層框架 ........ 170
5.3.2 向量 ............ 172
5.3.3 數據預處理 .......... 178
5.3.4 特征變換 .......... 184
5.3.5 線性擬合 .......... 188
5.4 分類算法 ........... 190
5.4.1 最優超平面 .......... 190
5.4.2 凸優化理論 .......... 193
5.4.3 求解最優超平面 .......... 198
5.4.4 核方法 .......... 200
5.4.5 軟間隔 .......... 205
5.4.6 優化解法 .......... 208
5.4.7 SVM 的 FlinkML 實現 ....... 211
5.4.8 SVM 的應用 .......... 220
5.5 推薦算法 ........... 221
5.5.1 推薦系統的分類 .......... 221
5.5.2 ALS-WR 算法 .......... 223
5.5.3 FlinkML 實現 ......... 225
5.5.4 ALS-WR 的應用 .......... 230
5.6 思考題 ............. 230
第 6 章 關系型 API .......... 234
6.1 為什么需要關系型 API .......... 234
6.2 Calcite ............ 235
6.3 關系型 API 概述........... 236
6.3.1 程序結構 .......... 236
6.3.2 Table 運行時 .......... 239
6.3.3 表注冊 .......... 241
6.3.4 TableSource 與 TableSink ........ 242
6.3.5 查詢 ............ 244
6.3.6 相互轉換 .......... 244
6.4 動態表概述 ........... 247
6.4.1 流式關系代數 .......... 247
6.4.2 動態表 .......... 248
6.4.3 持續查詢 .......... 250
6.5 思考題 ............. 255
第 7 章 復雜事件處理 .......... 256
7.1 什么是復雜事件處理 ......... 256
7.1.1 股票異常交易檢測 ........ 256
7.1.2 重新審視 DataStream 與 Table API ...... 258
7.2 復雜事件處理的自動機理論 ......... 259
7.2.1 有窮自動機模型 NFA ......... 259
7.2.2 NFAb 模型 .......... 261
7.2.3 帶版本號的共享緩存 ........ 263
7.3 FlinkCEP API .......... 265
7.3.1 基本模式 .......... 266
7.3.2 模式拼合 .......... 267
7.3.3 模式分組 .......... 268
7.3.4 匹配輸出 .......... 269
7.4 基于 FlinkCEP 的股票異常交易檢測的實現 ..... 270
7.5 思考題 ............. 274
第 8 章 監控與部署 .......... 275
8.1 監控 ............. 275
8.1.1 度量指標 .......... 275
8.1.2 指標的作用域 .......... 279
8.1.3 監控配置 .......... 279
8.2 集群部署模式 ........... 281
8.2.1 Standalone .......... 281
8.2.2 YARN ........... 281
8.2.3 高可用 .......... 284
8.3 訪問安全 ........... 284
8.4 思考題 ............. 286
參考資料 ............ 287
序: