Flink與Kylin深度實踐

王超,李沙著

  • 出版商: 機械工業
  • 出版日期: 2020-09-01
  • 定價: $419
  • 售價: 7.9$331
  • 貴賓價: 7.5$314
  • 語言: 簡體中文
  • 頁數: 256
  • 裝訂: 平裝
  • ISBN: 711166017X
  • ISBN-13: 9787111660170
  • 相關分類: 大數據 Big-data
  • 立即出貨

買這商品的人也買了...

商品描述

本書從實用角度出發,首先介紹了Flink的功能模塊、運行模式、部署安裝等內容,
然後著重介紹了Flink中的實時處理技術和批量處理技術,接著講解了Flink的Table與SQL、
CEP機制、調優與監控、實時數據同步解析,*後通過Flink結合Kylin實現了實時數據統計的功能。
本書內容全面,由淺入深,包含大量的代碼示例,並提供下載服務,
每章配有重要知識點串講視頻和小結,以指導讀者輕鬆入門。
本書適合有一定編程及大數據開發經驗,
有數據實時處理工作需求或者想要從事相關工作的讀者閱讀。

目錄大綱

致數字化人才的一封信
前言
●1章Flink及其運行模式簡介
1.1Flink介紹
1.2Flink的特性
1.3功能模塊
1.4編程模型
1.5重新編譯
1.6任務提交模型
1.7部署運行模式
1.8本章小結

●2章Flink的部署安裝及入門案例
2.1local模式部署安裝
2.2standalone模式部署安裝
2.3standalone模式的HA環境
2.4standalone模式在HA環境下提交任務
2.5Flink on YARN模式
2.5.1單個YARN Session模式
2.5.2多個YARN Session模式
2.5.3“flink run”腳本分析
2.6入門案例
2.6.1實時處理程序實現
2.6.2離線批量處理程序實現
2.7shell命令行代碼調試
2.7.1批量處理代碼調試
2.7.2實時處理代碼調試
2.8本章小結

●3章Flink實時處理之DataStream
3.1DataStream的數據源
3.1.1Socket數據源
3.1.2文件數據源
3.1.3從集合中獲取數據
3.1.4自定義數據源
3.2DataStream常用算子
3.2.1transformation算子
3.2.2partition算子
3.2.3sink算子
3.3窗口和時間
3.3.1窗口的類型
3.3.2窗口的應用
3.3.3窗口數值聚合統計
3.3.4時間的類型
3.4用watermark解決亂序與數據延遲問題
3.4.1watermark的作用
3.4.2watermark解決數據延時問題
3.4.3watermark如何生成
3.4.4watermark處理亂序數據
3.4.5比watermark更晚的數據如何解決
3.4.6多並行度的watermark機制
3.5DataStream的狀態保存和恢復
3.5.1keyed state的託管狀態
3.5.2operator state的託管狀態
3.5.3狀態管理之StateBackend
3.5.4用checkpoint保存數據
3.5.5用savepoint保存數據
3.6DataStream集成Kafka
3.6.1導入jar包
3.6.2將Kafka作為Flink的source
3.6.3將Kafka作為Flink的sink
3.7本章小結

●4章Flink批量處理之DataSet
4.1DataSet的內置數據源
4.1.1文件數據源
4.1.2集合數據源
4.2DataSet常用算子
4.2.1transformation算子
4.2.2partition算子
4.2.3sink算子
4.3DataSet的參數傳遞
4.4DataSet連接器
4.4.1文件系統連接器
4.4.2Flink集成HBase之數據讀取
4.4.3Flink讀取數據寫入HBase
4.5廣播變量、累加器與分佈式緩存
4.5.1廣播變量
4.5.2累加器
4.5.3分佈式緩存
4.6本章小結

●5章Flink的Table與SQL
5.1Table與SQL簡介
5.2為什麼需要SQL
5.3Table與SQL的語法解析
5.3.1創建TableEnvironment對象
5.3.2註冊表
5.3.3查詢表
5.3.4註冊數據保存表
5.3.5Table與SQL的數據查詢執行原理
5.3.6DataStream與DataSet集成
5.4Table與SQL編程開發
5.4.1使用SQL讀取CSV文件並進行查詢
5.4.2DataStream與表的互相轉換
5.4.3DataSet與表的互相轉換
5.4.4SQL處理Kafka的JSON格式數據
5.5本章小結

●6章Flink數據去重與數據連接
6.1數據去重
6.1.1基於MapState實現流式去重
6.1.2基於SQL實現流式去重
6.2流的連接實現
6.2.1使用CoGroup實現流連接
6.2.2interval join機制
6.2.3SQL實現連接作
6.3本章小結

●7章Flink中的複雜事件處理(CEP)機制
7.1CEP簡介
7.2CEP中的模式
7.2.1個體模式(Individual Pattern)
7.2.2組合模式(Combining Pattern)
7.2.3模式組(Group of Patterns)
7.3CEP綜合案例
7.3.1用戶IP變換報警
7.3.2高溫預警
7.3.3支付時監控
7.4本章小結

●8章Flink調優與監控
8.1監控指標
8.1.1系統監控指標
8.1.2自定義監控指標
8.2反壓機制與監控
8.2.1反壓線程採樣
8.2.2反壓線程配置
8.3checkpoint監控
8.4checkpoint調優
8.4.1如何衡量checkpoint的速度大小
8.4.2相鄰checkpoint的間隔時間設置
8.4.3checkpoint資源設置
8.4.4checkpoint的Task本地性恢復
8.4.5異步checkpoint設置
8.4.6checkpoint數據壓縮
8.5內存管理調優
8.5.1內存託管
8.5.2內存段管理
8.5.3內存段與字節緩衝區
8.5.4內存段對垃圾收集器的影響
8.5.5內存配置
8.5.6堆外內存
8.6本章小結

●9章基於Flink實現實時數據同步解析
9.1實時數倉架構
9.2MySQL數據實時同步
9.2.1MySQL的binlog介紹
9.2.2mawell簡介
9.2.3開啟MySQL的binlog功能
9.2.4安裝mawell實現實時採集MySQL數據
9.2.5啟動服務
9.2.6插入數據並進行測試
9.3數據庫建表
9.4開發模擬數據生成模塊
9.4.1創建Maven工程並導入jar包
9.4.2開發Flink程序批量導入商品表數據
9.4.3開發訂單生成程序模擬訂單持續生成
9.5數據獲取模塊開發
9.5.1全量拉取數據
9.5.2增量拉取數據
9.6本章小結

●10章基於Kylin的實時數據統計
10.1Kylin簡介
10.1.1為什麼要使用Kylin
10.1.2Kylin的使用場景
10.1.3Kylin如何解決海量數據的查詢問題
10.2Kylin基礎知識
10.2.1數據倉庫、OLAP、BI
10.2.2事實表與維度表
10.2.3維度與度量
10.2.4數據倉庫常用建模方式
10.2.5數據立方體
10.2.6Kylin的工作原理
10.2.7Kylin的體系架構
10.2.8Kylin的特點
10.3Kylin環境搭建
10.3.1單機模式安裝
10.3.2集環境搭建
10.4Kylin的使用
10.4.1創建Hive數據
10.4.2創建Kylin工程
10.4.3為Kylin添加模型
10.4.4通過Kylin來構建Cube
10.4.5構建Cube
10.4.6數據查詢分析
10.5Kylin的構建流程
10.6Cube構建算法
10.6.1逐層構建法
10.6.2快速構建法
10.7Cube構建的優化
10.7.1使用衍生維度(Derived Dimension)
10.7.2使用聚合組(Aggregation Group)
10.7.3並發粒度優化
10.7.4rowKey優化
10.7.5增量Cube構建
10.8備份以及恢復Kylin的元數據
10.9Kylin的垃圾清理
10.10BI工具集成
10.11使用Kylin分析HBase數據
10.12本章小結