大數據平臺架構

李昉

  • 出版商: 電子工業
  • 出版日期: 2022-04-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 320
  • ISBN: 7121430673
  • ISBN-13: 9787121430671
  • 相關分類: 大數據 Big-data
  • 立即出貨

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

商品描述

本書將為大家全面而深入地介紹Hadoop、Spark和NoSQL平臺的構建,深入淺出地講解Hadoop、Spark和NoSQL的基礎知識、架構方案與實戰技巧等。通過閱讀本書,讀者可以對大數據平臺架構有一個明確、清晰的認識,掌握Hadoop、Spark、NoSQL平臺的使用技巧,從而搭建一個安全可靠的大數據集群平臺,來滿足企業的實際需求。 本書共15章,可分為五大部分。第一部分(第1章)為大數據平臺架構概述,講述大數據平臺的基本概念與實際應用;第二部分(第2章~第6章)主要講解Hadoop的基本使用方法,以及Hadoop生態圈的其他組件;第三部分(第7章)主要介紹NoSQL;第四部分(第8章~第10章)主要介紹Spark生態圈與Spark實戰案例;第五部分(第11章~第15章)講解如何構建大數據平臺,闡述大數據平臺的幾個核心模塊,以及大數據平臺的未來發展趨勢。 本書可作為各類IT企業和研發機構的大數據工程師、架構師、軟件設計師、程序員,以及相關專業在校學生的參考書。

目錄大綱

1章 大數據平台架構概述 1

1.1 大數據平台的產生與應用 1

1.1.1 大數據平台的產生 1

1.1.2 大數據平台的應用 2

1.2 大數據平台架構 4

1.3 大數據處理系統經典架構 7

1.3.1 什麼是Lambda架構 7

1.3.2 Lambda架構 8

1.3.3 Kappa架構 10

1.3.4 適用場景 10

2章 大數據與Hadoop  12

2.1 Hadoop簡介 12

2.1.1 Hadoop起源 12

2.1.2 Hadoop特點 13

2.1.3 Hadoop版本 13

2.2 Hadoop生態系統 14

2.2.1 Hadoop生態系統概況 15

2.2.2 Hadoop生態系統組成詳解 16

2.3 Hadoop應用案例 21

2.3.1 Hadoop應用案例1:全球大市沃爾瑪 21

2.3.2 Hadoop應用案例2:全球大拍賣網站eBay  21

2.3.3 Hadoop應用案例3:全球大信用卡公司Visa  22

2.4 Hadoop在國內的現狀與未來 22

2.4.1 國內早的Hadoop交流平台:Hadoop in China  22

2.4.2 國內Hadoop發展現狀 22

2.4.3 國內Hadoop前景展望 25

3章 開始使用Hadoop集 26

3.1 Hadoop初探 26

3.1.1 使用Hadoop的先決條件 26

3.1.2 安裝環境 27

3.1.3 安裝並運行Hadoop  29

3.1.4 運行模式 30

3.1.5 Hadoop單機模式 31

3.1.6 Hadoop偽分佈式模式 32

3.1.7 Hadoop完全分佈式模式 36

3.1.8 Hadoop命令手冊解讀 39

3.2 HDFS基礎和權限管理 45

3.2.1 HDFS特點 45

3.2.2 HDFS基本構成 46

3.2.3 HDFS使用原理 47

3.2.4 HDFS權限管理 48

3.3 MapReduce Job開發、運行與管理 49

3.3.1 為什麼需要MapReduce  49

3.3.2 MapReduce 1.X和MapReduce 2.X  49

3.3.3 MapReduce開發 55

3.3.4 MapReduce運行與管理 58

3.4 YARN管理 62

3.4.1 YARN簡介 62

3.4.2 主要組件 64

3.4.3 ResourceManager組件 65

3.4.4 deManager組件 65

3.4.5 ApplicationMaster組件 66

3.4.6 Container組件 66

3.4.7 應用提交過程分析 66

4章 Hadoop集性能優化和維護 69

4.1 集常用配置文件解讀 69

4.1.1 配置文件 70

4.1.2 Hadoop核心配置文件core-site.ml  71

4.2 HDFS配置優化 78

4.2.1 dfsadmin  81

4.2.2 SecondaryNamede  82

4.2.3 Rebalance與機架感知 83

4.2.4 安全模式、fsck、升級與回滾 84

4.2.5 集與環境優化 85

4.3 MapReduce配置優化 86

4.3.1 Job配置 86

4.3.2 其他 91

4.4 YARN配置優化 91

4.4.1 YARN  91

4.4.2 Capacity Scheduler  92

4.4.3 Queue Properties  94

5章 高可用配置 97

5.1 架構 97

5.2 使用NFS共享存儲 98

5.3 Quorum-based存儲+ZooKeeper  99

5.4 QJM  100

5.5 使用ZooKeeper進行自動故障轉移 101

5.6 部署與配置 102

6章 Hadoop其他組件 106

6.1 HBase介紹 106

6.1.1 概述 106

6.1.2 特點 107

6.1.3 架構 108

6.1.4 工作原理 108

6.1.5 安裝與運行 110

6.1.6 基礎作 112

6.2 Hive介紹 113

6.2.1 概述 113

6.2.2 特點 114

6.2.3 數據結構 114

6.2.4 架構 115

6.2.5 工作原理 116

6.2.6 安裝與運行 116

6.3 Pig介紹 118

6.3.1 概述 118

6.3.2 特點 119

6.3.3 運行模式 119

6.3.4 安裝與運行 120

6.4 Sqoop介紹 121

6.4.1 概述 121

6.4.2 版本介紹 122

6.4.3 特點 122

6.4.4 安裝與運行 123

6.4.5 工作原理 123

7章 SQL  125

7.1 SQL介紹 125

7.2 NewSQL介紹 126

7.3 SQL應用場景 127

7.4 能承受海量壓力的鍵值型數據庫:Redis  128

7.5 處理非結構化數據的利器:MongoDB  128

7.6 圖數據庫:Neo4j  130

7.6.1 什麼是圖 130

7.6.2 什麼是圖數據庫 130

7.6.3 Neo4j簡介 130

8章 Spark生態系統 132

8.1 Spark在大數據生態中的定位 132

8.1.1 Spark簡介 132

8.1.2 Spark系統定位 135

8.1.3 基本術語 136

8.2 Spark主要模塊介紹 138

8.2.1 Spark Core  138

8.2.2 Spark SQL  146

8.2.3 Spark Streaming  149

8.2.4 GraphX  150

8.2.5 MLlib  154

8.3 Spark部署模型介紹 156

9章 Spark SQL實戰案例 158

9.1 Spark SQL前世今生 158

9.1.1 大數據背景 158

9.1.2 Spark和Spark SQL的產生 159

9.1.3 版本更迭 159

9.2 RDD、DataFrame及Dataset  160

9.2.1 Spark SQL基礎 161

9.2.2 Dataset、DataFrame、RDD的區別 167

9.3 使用外部數據源 168

9.3.1 讀寫文件 168

9.3.2 .parquet文件 169

9.3.3 ORC文件 174

9.3.4 JSON Dataset  174

9.4 連接Metastore  174

9.4.1 Hive table  174

9.4.2 和不同版本的Hive Metastore交互 175

9.4.3 JDBC連接其他數據庫 176

9.5 自定義函數 178

9.5.1 聚合函數——非標準化類型(UnTyped)UADF開發 178

9.5.2 類型安全的自定義聚合函數——Type-safe的UDAF  180

9.6 Spark SQL與Spark Thrift server  183

9.6.1 分佈式SQL引擎 183

9.6.2 HiveServer2服務 184

9.7 Spark SQL 優化 185

9.7.1 內存緩存數據 185

9.7.2 SQL查詢中的Broadcast Hint  186

9.7.3 持久化RDD,選擇存儲級別 186

9.7.4 數據序列化選擇 188

9.7.5 內存管理 189

9.7.6 其他考慮 192

10章 Spark Streaming  195

10.1 Spark Streaming架構 195

10.2 DStream的特點 196

10.3 DStream的作 197

10.3.1 DStream的輸入作 197

10.3.2 DStream的轉換作 199

10.4 StatefulRDD和windowRDD實戰 201

10.4.1 StatelessRDD無狀態轉化作 201

10.4.2 StatefulRDD有狀態轉化作 206

10.5 Kafka+Spark Steaming實戰 212

10.5.1 搭建Kafka環境 212

10.5.2 代碼編寫 213

10.6 Spark Streaming的優化 220

11章 數據同步收集 224

11.1 從關係數據庫同步數據到HDFS  224

11.1.1 Sqoop  225

11.1.2 DataX  226

11.2 Sqoop的使用 228

11.2.1 安裝 228

11.2.2 MySQL環境驅動配置 229

11.2.3 導入數據 230

11.3 數據清洗 234

12章 任務調度系統設計 239

12.1 初識任務調度 239

12.2 幾種相對成熟的Java調度系統選擇 242

12.2.1 Timer和TimerTask  242

12.2.2 ScheduledThreadPoolEecutor  244

12.2.3 Quartz  245

12.2.4 jcrontab  245

12.2.5 相對成熟的調度工具和開源產品 246

12.3 Quartz的介紹 250

12.3.1 Quartz的儲備知識 251

12.3.2 Quartz的基本使用 251

12.3.3 Trigger的選擇 252

12.3.4 JobStore  255

12.3.5 完整的例子 257

12.4 開源工具XXL-Job  258

12.4.1 搭建項目 258

12.4.2 運行項目 260

12.4.3 項目簡單使用 263

12.4.4 高級使用和使用建議 267

13章 調度系統選擇 274

13.1 常用調度系統及對比 274

13.1.1 Oozie簡介 274

13.1.2 Azkaban簡介 275

13.1.3 Airflow簡介 276

13.1.4 調度系統對比 277

13.2 Airflow基本架構設計 278

13.2.1 設計原則 278

13.2.2 Airflow的服務構成 278

13.2.3 依賴關係的解決 280

13.2.4 工作原理 280

13.3 Airflow任務調度系統的安裝配置及使用 281

13.3.1 安裝 281

13.3.2 配置 282

13.3.3 使用 285

13.4 Airflow自定義DAG的使用 286

14章 數據安全管理 292

14.1 HDFS層面的訪問權限及安全模式 292

14.1.1 HDFS權限管理 292

14.1.2 HDFS安全模式 293

14.1.3 ACL概念介紹 294

14.2 保障敏感數據的安全性 295

14.3 應用層面的安全性保障 297

15章 大數據面臨的挑戰、發展趨勢及典型案例 300

15.1 大數據面臨的問題與挑戰 300

15.1.1 大數據潛在的危害 300

15.1.2 開放與隱私如何平衡 301

15.1.3 大數據人才的缺乏 302

15.2 大數據發展趨勢 302

15.2.1 大數據與電子商務 303

15.2.2 大數據與醫療 303

15.2.3 大數據與人工智能 304

15.2.4 工業大數據云平台 304

15.3 典型大數據平台案例 304

15.3.1 阿里雲數加 304

15.3.2 華為Fusion Insight大數據平台 305

15.3.3 三一重工Witsight工業大數據平台 307