大數據技術體系詳解:原理、架構與實踐

大數據技術體系詳解:原理、架構與實踐

《大數據技術體系詳解:原理、架構與實踐》是2018年3月1日機械工業出版社出版的圖書,作者是董西成。

基本介紹

  • 中文名:大數據技術體系詳解:原理、架構與實踐
  • 作者:董西成
  • 出版社:機械工業出版社
  • ISBN:9787111590729
內容簡介,圖書目錄,

內容簡介

這是一部系統、深度講解大數據技術棧的著作,從數據收集、數據存儲、資源管理與服務協調、計算引擎、數據分析、數據可視化6個層次講解了整個大數據技術體系中所有核心技術的原理、架構與實踐。不僅能讓讀者從巨觀上全面認識整個大數據系統,而且還能讓讀者從微觀上深入理解各種大數據技術的細節。
本書將以數據在大數據系統中的生命周期為線索,一共17章,分為七個部分:
第一部分(第1章):概述
主要介紹企業級大數據技術框架、技術實現方案和架構,包括Google的大數據技術棧和以Hadoop和Spark為代表的開源技術棧。
第二部分(第2-4章):數據收集
講解大數據收集相關技術,主要涉及關係型數據收集工具Sqoop與Canel,非關係型數據收集系統Flume以及分散式訊息佇列Kafka。
第三部分(第5-7章):數據存儲
講解大數據存儲相關技術,涉及數據存儲格式,分散式檔案系統以及分散式資料庫三部分,包括Thrift、Protobuf、Avro、HDFS和HBase等。
第四部分(第8-9章):分散式協調與資源管理
講解資源管理和服務協調相關技術,涉及資源管理和調度系統YARN以及資源協調系統Zookeeper。
第五部分(第10-13章):計算引擎
講解計算引擎相關技術,涉及批處理、互動式處理以及流式實時處理三類引擎,包括MapReduce、Spark、Impala/Presto、Storm等常用技術。
第六部分(第14-16章):數據分析
講解數據分析相關技術,涉及基於數據分析語言HQL與SQL,大數據統一編程模型及機器學習庫等。
第七部分(第17章):套用案例
講解了3個企業級大數據綜合套用案例,包括Lambda架構、基於大數據技術的數據倉庫、用戶行為實時統計系統。

圖書目錄

目  錄?Contents
前 言
第一部分 概述篇
第1章 企業級大數據技術體系概述 2
1.1 大數據系統產生背景及套用場景 2
1.1.1 產生背景 2
1.1.2 常見大數據套用場景 3
1.2 企業級大數據技術框架 5
1.2.1 數據收集層 6
1.2.2 數據存儲層 7
1.2.3 資源管理與服務協調層 7
1.2.4 計算引擎層 8
1.2.5 數據分析層 9
1.2.6 數據可視化層 9
1.3 企業級大數據技術實現方案 9
1.3.1 Google大數據技術棧 10
1.3.2 Hadoop與Spark開源大數據技術棧 12
1.4 大數據架構:Lambda Architecture 15
1.5 Hadoop與Spark版本選擇及安裝部署 16
1.5.1 Hadoop與Spark版本選擇 16
1.5.2 Hadoop與Spark安裝部署 17
1.6 小結 18
1.7 本章問題 18
第二部分 數據收集篇
第2章 關係型數據的收集 20
2.1 Sqoop概述 20
2.1.1 設計動機 20
2.1.2 Sqoop基本思想及特點 21
2.2 Sqoop基本架構 21
2.2.1 Sqoop1基本架構 22
2.2.2 Sqoop2基本架構 23
2.2.3 Sqoop1與Sqoop2對比 24
2.3 Sqoop使用方式 25
2.3.1 Sqoop1使用方式 25
2.3.2 Sqoop2使用方式 28
2.4 數據增量收集CDC 31
2.4.1 CDC動機與套用場景 31
2.4.2 CDC開源實現Canal 32
2.4.3 多機房數據同步系統Otter 33
2.5 小結 35
2.6 本章問題 35
第3章 非關係型數據的收集 36
3.1 概述 36
3.1.1 Flume設計動機 36
3.1.2 Flume基本思想及特點 37
3.2 Flume NG基本架構 38
3.2.1 Flume NG基本架構 38
3.2.2 Flume NG高級組件 41
3.3 Flume NG數據流拓撲構建方法 42
3.3.1 如何構建數據流拓撲 42
3.3.2 數據流拓撲實例剖析 46
3.4 小結 50
3.5 本章問題 50
第4章 分散式訊息佇列Kafka 51
4.1 概述 51
4.1.1 Kafka設計動機 51
4.1.2 Kafka特點 53
4.2 Kafka設計架構 53
4.2.1 Kafka基本架構 54
4.2.2 Kafka各組件詳解 54
4.2.3 Kafka關鍵技術點 58
4.3 Kafka程式設計 60
4.3.1 Producer程式設計 61
4.3.2 Consumer程式設計 63
4.3.3 開源Producer與Consumer實現 65
4.4 Kafka典型套用場景 65
4.5 小結 67
4.6 本章問題 67
第三部分 數據存儲篇
第5章 數據序列化與檔案存儲格式 70
5.1 數據序列化的意義 70
5.2 數據序列化方案 72
5.2.1 序列化框架Thrift 72
5.2.2 序列化框架Protobuf 74
5.2.3 序列化框架Avro 76
5.2.4 序列化框架對比 78
5.3 檔案存儲格式剖析 79
5.3.1 行存儲與列存儲 79
5.3.2 行式存儲格式 80
5.3.3 列式存儲格式ORC、Parquet與CarbonData 82
5.4 小結 88
5.5 本章問題 89
第6章 分散式檔案系統 90
6.1 背景 90
6.2 檔案級別和塊級別的分散式檔案系統 91
6.2.1 檔案級別的分散式系統 91
6.2.2 塊級別的分散式系統 92
6.3 HDFS基本架構 93
6.4 HDFS關鍵技術 94
6.4.1 容錯性設計 95
6.4.2 副本放置策略 95
6.4.3 異構存儲介質 96
6.4.4 集中式快取管理 97
6.5 HDFS訪問方式 98
6.5.1 HDFS shell 98
6.5.2 HDFS API 100
6.5.3 數據收集組件 101
6.5.4 計算引擎 102
6.6 小結 102
6.7 本章問題 103
第7章 分散式結構化存儲系統 104
7.1 背景 104
7.2 HBase數據模型 105
7.2.1 邏輯數據模型 105
7.2.2 物理數據存儲 107
7.3 HBase基本架構 108
7.3.1 HBase基本架構 108
7.3.2 HBase內部原理 110
7.4 HBase訪問方式 114
7.4.1 HBase shell 114
7.4.2 HBase API 116
7.4.3 數據收集組件 118
7.4.4 計算引擎 119
7.4.5 Apache Phoenix 119
7.5 HBase套用案例 120
7.5.1 社交關係數據存儲 120
7.5.2 時間序列資料庫OpenTSDB 122
7.6 分散式列式存儲系統Kudu 125
7.6.1 Kudu基本特點 125
7.6.2 Kudu數據模型與架構 126
7.6.3 HBase與Kudu對比 126
7.7 小結 127
7.8 本章問題 127
第四部分 分散式協調與資源管理篇
第8章 分散式協調服務ZooKeeper 130
8.1 分散式協調服務的存在意義 130
8.1.1 leader選舉 130
8.1.2 負載均衡 131
8.2 ZooKeeper數據模型 132
8.3 ZooKeeper基本架構 133
8.4 ZooKeeper程式設計 134
8.4.1 ZooKeeper API 135
8.4.2 Apache Curator 139
8.5 ZooKeeper套用案例 142
8.5.1 leader選舉 142
8.5.2 分散式佇列 143
8.5.3 負載均衡 143
8.6 小結 144
8.7 本章問題 145
第9章 資源管理與調度系統YARN 146
9.1 YARN產生背景 146
9.1.1 MRv1局限性 146
9.1.2 YARN設計動機 147
9.2 YARN設計思想 148
9.3 YARN的基本架構與原理 149
9.3.1 YARN基本架構 149
9.3.2 YARN高可用 152
9.3.3 YARN工作流程 153
9.4 YARN資源調度器 155
9.4.1 層級佇列管理機制 155
9.4.2 多租戶資源調度器產生背景 156
9.4.3 Capacity/Fair Scheduler 157
9.4.4 基於節點標籤的調度 160
9.4.5 資源搶占

相關詞條

熱門詞條

聯絡我們