《企業大數據處理》是2017年機械工業出版社出版的圖書,作者是肖冠宇。
基本介紹
- 書名:企業大數據處理:Spark,Druid,Flume與Kafka套用實踐
- 作者:肖冠宇
- 出版社:機械工業出版社
- 出版時間:2017年09月
- 定價:59 元
- 開本:16 開
- ISBN:978-7-111-57922-9
內容簡介,圖書目錄,
內容簡介
這是一本立足於企業真實的商用項目來講解如何高效從事大數據實踐的著作。技術層面,從全棧的角度系統梳理和詳盡講解了大數據的核心技術,包括Spark、Druid、Flume、Kafka等,讓我們在紛繁複雜的技術中少走彎路;經驗層面,為企業的大數據技術選型和大數據平台建設提供了成熟的解決方案;實操層面,提供了大量的案例,其中包括2個綜合性的案例。
全書一共分為三個部分:
第一部分(第1章):主要介紹了企業大數據系統的前期準備工作,包括如何構建企業大數據處理系統的軟體環境和集群環境。
第二部分(第2~7章):依次重點講解了Spark的基本原理、使用方法和最佳化方式;Druid的基本原理、集群的搭建過程,以及相關的各種操作;日誌收集系統Flume的基本架構、關鍵組件,以及分層日誌收集架構的設計與實踐;分散式訊息佇列Kafka的基本架構和集群搭建過程,以及使用Java語言實現客戶端API的詳細過程。
第三部分(第8~9章):詳細講解了企業大數據處理的兩個實際套用案例,分別是基於Druid構建多維數據分析平台和基於JMX指標的監控系統。
圖書目錄
前 言
第一部分 準備工作
第1章 基礎環境準備 2
1.1 軟體環境準備 2
1.2 集群環境準備 4
1.2.1 Zookeeper集群部署 4
1.2.2 Hadoop部署 6
1.3 小結 15
第二部分 核心技術
第2章 Spark詳解 18
2.1 Spark概述 18
2.1.1 Spark概述 18
2.1.2 Shuff?le詳解 25
2.2 Spark SQL 29
2.2.1 SparkSession 29
2.2.2 DataFrame 30
2.2.3 DataSet 35
2.3 Structured Streaming 35
2.3.1 數據源 36
2.3.2 輸出到外部存儲 38
2.3.3 WordCount示例 40
2.4 Spark最佳化 42
2.4.1 數據最佳化 42
2.4.2 代碼最佳化 44
2.4.3 參數最佳化 46
2.5 小結 48
第3章 Druid原理及部署 49
3.1 架構設計 49
3.1.1 節點類型 49
3.1.2 Segment介紹 57
3.1.3 容錯處理 59
3.1.4 路由節點 60
3.2 集群部署 63
3.2.1 集群規劃 63
3.2.2 配置安裝 64
3.3 小結 72
第4章 Druid數據攝入 73
4.1 模式設計 73
4.1.1 設計概述 73
4.1.2 數據解析 75
4.1.3 Segment分區 79
4.1.4 模式更改 81
4.2 批量數據攝入 81
4.3 流數據攝入 87
4.3.1 Tranquility 88
4.3.2 StreamPush 91
4.3.3 從Kafka中攝取數據 92
4.4 數據更新 94
4.5 小結 95
第5章 Druid客戶端 96
5.1 涉及組件 96
5.1.1 查詢相關 96
5.1.2 過濾器 99
5.1.3 聚合粒度 101
5.1.4 聚合器 105
5.2 查詢類型 109
5.2.1 時間序列查詢 109
5.2.2 TopN查詢 111
5.2.3 分組查詢 113
5.2.4 元數據查詢 117
5.2.5 搜尋查詢 121
5.3 查詢API 125
5.3.1 RESTful介紹 125
5.3.2 Jersey客戶端 126
5.4 小結 129
第6章 日誌收集 130
6.1 Flume介紹 130
6.1.1 基本架構 131
6.2 Flume套用實踐 144
6.2.1 攔截器、選擇器實踐 144
6.2.2 負載均衡、故障轉移實踐 149
6.2.3 設計與實踐 150
6.3 小結 154
第7章 分散式訊息佇列 155
7.1 Kafka介紹 155
7.1.1 基本架構 155
7.1.2 高吞吐的實現 157
7.1.3 高可用的實現 160
7.2 安裝部署 161
7.2.1 Broker配置參數 161
7.2.2 分散式部署 162
7.3 客戶端API 163
7.3.1 Producer API 164
7.3.2 Consumer API 165
7.4 小結 169
第三部分 項目實踐
第8章 數據平台 172
8.1 需求分析 172
8.2 功能實現 173
8.2.1 架構設計 173
8.2.2 關鍵功能實現 175
8.3 小結 184
第9章 監控系統 185
9.1 Inf?luxDB 185
9.1.1 Inf?luxDB簡介 186
9.1.2 Inf?luxDB安裝 186
9.1.3 Inf?luxDB操作 188
9.1.4 Inf?luxDB客戶端 191
9.2 JMXTrans 192
9.2.1 JMXTrans介紹 192
9.2.2 JMXTrans安裝 194
9.2.3 JMXTrans使用 195
9.3 Grafana 198
9.3.1 Grafana安裝 198
9.3.2 Grafana使用 199
9.4 小結 208