Flink實時大數據處理技術

劉月峰

  • 出版商: 機械工業
  • 出版日期: 2024-06-01
  • 定價: $480
  • 售價: 8.5$408
  • 語言: 簡體中文
  • 頁數: 336
  • ISBN: 7111752007
  • ISBN-13: 9787111752004
  • 相關分類: 大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

商品描述

本書從實踐的角度出發,介紹了Flink實時大數據處理框架開發的技術知識,包括實時處理系統的相關概念、開發方法、分佈式計算的體系結構,以及面向事件驅動的編程技術。書中詳細探討了Flink的流式處理和批處理融合的能力,以及它在大規模數據流處理中的優勢,並通過一個具體的實例介紹大數據實時處理系統的開發方法和開發過程。此外,本書還介紹了實時數據倉庫的設計與實現,包括數據抽取、數據轉換、數據存儲和數據可視化等方面的內容,以幫助讀者構建強大而可擴展的實時數據處理系統。除第10章外,其餘各章配有習題,以指導讀者深入地進行學習。 本書既可作為高等學校計算機軟件技術課程的教材,也可作為大數據開發人員的技術參考書。

目錄大綱

前言
第1章 Apache Flink概述
1.1 Flink是什麼
1.1.1 Flink的起源
1.1.2 Flink的發展過程和主要版本
1.1.3 Flink的定義
1.1.4 程式語言的選擇
1.2 Flink層次架構
1.2.1 架構設計
1.2.2 API和Libraries層
1.2.3 Runtime核心層
1.2.4 實體部署層
1.3 大數據處理架構的發展
1.3.1 Lambda架構
1.3.2 Kappa架構
1.3.3 流處理框架的發展
1.4 Flink應用場景
1.4.1 事件驅動型應用
1.4.2 數據分析應用
1.4.3 數據管道應用
1.4.4 產業應用
1.5 Flink生態系與社區
1.5.1 Flink的生態系和相關工具
1.5.2 Flink的社群和貢獻者
1.6 Flink與其他大數據框架的關係
1.6.1 Flink與Hadoop
1.6.2 Flink與Hive
1.6.3 Flink與Spark Streaming
1.6.4 Flink與Storm
1.7 習題
第2章 Scala語言
2.1 Scala語言概述
2.1.1 Scala簡介
2.1.2 開發環境配置
2.1.3 建立項目
2.2 Scala語言入門
2.2.1 類型體系結構
2.2.2 變量的定義與使用
2.2.3 字面量與內插表達式
2.2.4 運算符
2.2.5 流程控制語句
2.3 集合
2.3.1 集合概述
2.3.2 Array和ArrayBuffer
2.3.3 Tuple
2.3.4 List和ListBuffer
2.3.5 Set
2.3.6 Map
2.3.7 集合運算符號
2.4 函數式編程
2.4.1 函數的定義與使用
2.4.2 匿名函數
2.4.3 高階函數
2.4.4 柯里化與閉包
2.5 物件導向編程
2.5.1 類別與對象
2.5.2 構造器
2.5.3 繼承
2.5.4 伴生類與伴生對象
2.5.5 多態性
2.5.6 泛型
2.5.7 隱式轉換
2.6 模式匹配
2.6.1 基本使用
2.6.2 條件守衛
2.6.3 常用匹配
2.6.4 範例類
2.7 習題
第3章 環境建置與應用部署
3.1 Flink開發環境搭建
3.1.1 CentOS環境準備
3.1.2 項目初始化
3.1.3 項目結構與依賴
3.2 Flink詞頻統計
3.2.1 批次處理方式
3.2.2 流處理方式
3.2.3 兩種方式對比
3.2.4 向集群提交作業
3.3 Flink叢集部署
3.3.1 Flink叢集核心元件
3.3.2 部署模式
3.3.3 Standalone模式
3.3.4 YARN模式
3.4 YARN模式的部署與應用程式提交
3.4.1 環境準備
3.4.2 會話模式
3.4.3 單作業模式
3.4.4 應用模式
3.5 習題
第4章 Flink流處理架構與原理
4.1 流處理模型與原理
4.1.1 資料流的概念
4.1.2 流處理和批次
4.1.3 流處理的原理
4.1.4 流處理的模型
4.1.5 流處理的最佳化策略
4.2 Flink流處理架構
4.2.1 Flink的資料流模型
4.2.2 算子
4.2.3 Flink的狀態管理
4.2.4 Flink的容錯機制
4.2.5 Flink在流計算中的最佳化
4.3 Flink叢集架構
4.3.1 集群組件的協作
4.3.2 Task和算子鏈
4.3.3 Task Slots和資源管理
4.4 習題
第5章 流處理API
5.1 基本使用
5.1.1 DataStream是什麼
5.1.2 基礎程序
5.1.3 並行度的設置
5.2 DataStream資料來源
5.2.1 內建Data Source
5.2.2 自訂 Data Source
5.3 DataStream轉換算子
5.3.1 資料流轉換
5.3.2 RichFunction
5.3.3 實體分區
5.3.4 算子鏈
5.3.5 資源組
5.4 DataStream Sink
5.4.1 Data Sinks
5.4.2 自訂Sink
5.5 使用者行為即時分析
5.6 習題
第6章 時間和窗口
6.1 時間與窗口的概念
6.1.1 Flink中的時間
6.1.2 窗口
6.1.3 水位線
6.2 視窗的基本使用
6.2.1 視窗分配器
6.2.2 內建視窗分配器
6.2.3 視窗觸發器
6.2.4 內建觸發器
6.3 視窗函數
6.3.1 ReduceFunction
6.3.2 AggregateFunction
6.3.3 ProcessWindowFunction
6.3.4 增量聚合的ProcessWindowFunction
6.4 習題
第7章 處理函數與狀態管理
7.1 處理函數
7.1.1 ProcessFunction
7.1.2 KeyedProcessFunction
7.1.3 定時器
7.2 多流操作
7.2.1 Union
7.2.2 Connect
7.2.3 Window Join
7.2.4 Interval Join
7.2.5 側輸出流
7.2.6 處理遲到數據
7.3 狀態管理
7.3.1 有狀態的流處理
7.3.2 鍵控狀態
7.3.3 算子狀態
7.4 狀態持久化
7.4.1 Checkpoint
7.4.2 StateBackend
7.4.3 Savepoint
7.5 習題
第8章 Table API和SQL API
8.1 Table API與SQL API概述
8.1.1 程序基本結構
8.1.2 TableEnvironment創建
8.1.3 建立Table
8.1.4 Table查詢