第1章 大數據技術概述 1
1.1 大數據的概念 1
1.2 大數據的行業(yè)價值 4
1.3 大數據問題的爆發(fā) 9
1.4 大數據處理流程 12
1.5 大數據技術 13
1.5.1 基礎架構支持 14
1.5.2 數據采集 14
1.5.3 數據存儲 15
1.5.4 數據計算 16
1.5.5 展現與交互 18
1.6 練習題 19
參考文獻 19
第2章 大數據基礎支撐——數據中心及云計算 20
2.1 數據中心概述 20
2.1.1 云計算時代數據中心面臨的問題 21
2.1.2 新一代數據中心關鍵技術 22
2.1.3 業(yè)界發(fā)展動態(tài) 24
2.1.4 小結 25
2.2 云計算簡介 25
2.2.1 云計算定義 26
2.2.2 云計算主要特征 27
2.2.3 Web服務、網格和云計算 28
2.2.4 云計算應用分類 29
2.2.5 小結 31
2.3 大數據與云計算的關系 32
2.3.1 大數據是信息技術發(fā)展的必然階段 33
2.3.2 云計算等新興信息技術正在真正地落地和實施 34
2.3.3 云計算等新興技術是解決大數據問題的核心關鍵 34
2.4 云資源調度與管理 35
2.4.1 云資源管理 36
2.4.2 云資源調度策略 38
2.4.3 云計算數據中心負載均衡調度 40
2.5 開源云管理平臺OpenStack 44
2.5.1 OpenStack的構成 45
2.5.2 OpenStack各組件之間的關系 46
2.5.3 OpenStack的邏輯架構 47
2.5.4 小結 49
2.6 軟件定義網絡 49
2.6.1 起源與發(fā)展 50
2.6.2 OpenFlow標準和規(guī)范 50
2.6.3 OpenFlow的應用 53
2.7 虛擬機與容器 55
2.7.1 VM虛擬化與Container虛擬化 55
2.7.2 Docker 55
2.8 練習題 57
參考文獻 57
第3章 云計算先行者——Google的三駕馬車 59
3.1 Google的三駕馬車 59
3.1.1 GFS——一個可擴展的分布式文件系統(tǒng) 59
3.1.2 MapReduce——一種并行計算的編程模型 64
3.1.3 BigTable——一個分布式數據存儲系統(tǒng) 69
3.2 Google新“三駕馬車” 77
3.2.1 Caffeine——基于Percolator的搜索索引系統(tǒng) 77
3.2.2 Pregel——高效的分布式圖計算的計算框架 80
3.2.3 Dremel——大規(guī)模數據的交互式數據分析系統(tǒng) 85
3.3 練習題 89
參考文獻 89
第4章 云存儲系統(tǒng) 91
4.1 云存儲的基本概念 91
4.1.1 云存儲結構模型 91
4.1.2 云存儲與傳統(tǒng)存儲系統(tǒng)的區(qū)別 94
4.2 云存儲關鍵技術 95
4.2.1 存儲虛擬化技術 95
4.2.2 分布式存儲技術 97
4.3 云存儲系統(tǒng)分類 98
4.3.1 分布式文件存儲 99
4.3.2 分布式塊存儲 105
4.3.3 分布式對象存儲 109
4.3.4 統(tǒng)一存儲 117
4.4 其他相關技術 124
4.5 練習題 127
參考文獻 127
第5章 數據采集系統(tǒng) 129
5.1 Flume 130
5.1.1 Flume架構 130
5.1.2 Flume核心組件 133
5.1.3 Flume環(huán)境搭建與部署 134
5.2 Scribe 139
5.2.1 Scribe架構 139
5.2.2 Scribe中的Store 140
5.2.3 Scribe環(huán)境搭建與部署 141
5.3 Chukwa 144
5.3.1 Chukwa的設計目標 144
5.3.2 Chukwa架構 145
5.3.3 Chukwa 環(huán)境搭建與部署 147
5.4 Kafka 150
5.4.1 Kafka架構 150
5.4.2 Kafka存儲 152
5.4.3 Kafka的特點 152
5.4.4 Kafka環(huán)境搭建與部署 154
5.5 練習題 155
參考文獻 155
第6章 Hadoop與MapReduce 156
6.1 Hadoop平臺 156
6.1.1 Hadoop概述 156
6.1.2 Hadoop的發(fā)展簡史 157
6.1.3 Hadoop的功能和作用 158
6.1.4 HDFS 159
6.1.5 HBase 162
6.2 MapReduce 171
6.2.1 第一代MapReduce(MRv1) 172
6.2.2 MapReduce 2.0——Yarn 180
6.3 Hadoop相關生態(tài)系統(tǒng) 184
6.3.1 交互式數據查詢分析 184
6.3.2 數據收集、轉換工具 187
6.3.3 機器學習工具 188
6.3.4 集群管理與監(jiān)控 188
6.3.5 其他工具 189
6.4 Hadoop應用案例 191
6.5 練習題 192
參考文獻 192
第7章 Spark——大數據統(tǒng)一計算平臺 193
7.1 Spark簡介 193
7.1.1 Spark 193
7.1.2 BDAS 195
7.2 RDD 197
7.2.1 RDD基本概念 197
7.2.2 RDD示例 199
7.2.3 RDD與分布式共享內存 200
7.3 Spark SQL 201
7.4 MLlib 203
7.5 GraphX 206
7.6 Spark Streaming 206
7.6.1 基本概念 207
7.6.2 編程模型 208
7.7 Spark的安裝 210
7.7.1 單機運行Spark 210
7.7.2 使用Spark Shell與Spark交互 213
7.8 Shark、Impala、Hive對比 214
7.9 練習題 216
參考文獻 216
第8章 Storm流計算系統(tǒng) 218
8.1 流計算系統(tǒng) 218
8.1.1 流計算系統(tǒng)的特點 218
8.1.2 流計算處理基本流程 219
8.2 Storm流計算框架 220
8.2.1 Storm簡介 220
8.2.2 Storm關鍵術語 221
8.2.3 Storm架構設計 223
8.3 Storm編程實例 225
8.4 Storm應用 228
8.4.1 Storm應用場景 228
8.4.2 Storm應用實例 228
8.5 其他流計算框架 229
8.6 練習題 231
參考文獻 231
第9章 SQL、NoSQL與NewSQL 232
9.1 傳統(tǒng)SQL數據庫 232
9.1.1 關系模型 232
9.1.2 關系型數據庫的優(yōu)點 233
9.1.3 關系型數據庫面臨的問題 234
9.2 NoSQL 234
9.2.1 NoSQL與大數據 235
9.2.2 NoSQL理論基礎 235
9.2.3 分布式模型 238
9.2.4 NoSQL數據庫分類 241
9.3 NewSQL 255
9.3.1 系統(tǒng)分類 255
9.3.2 Google Spanner 256
9.3.3 MemSQL 258
9.3.4 VoltDB 260
9.4 練習題 263
參考文獻 263
第10章 大數據與數據挖掘 264
10.1 數據挖掘的主要功能和常用算法 264
10.1.1 數據挖掘的主要功能 264
10.1.2 常用算法 265
10.2 大數據時代的數據挖掘 280
10.2.1 傳統(tǒng)數據挖掘解決方案 280
10.2.2 分布式數據挖掘解決方案 280
10.3 數據挖掘相關工具 282
10.3.1 Mahout 282
10.3.2 語言工具——Python 288
10.4 數據挖掘與R語言 289
10.4.1 R語言簡介 289
10.4.2 R語言在數據挖掘上的應用 290
10.5 練習題 294
參考文獻 294
第11章 深度學習 298
11.1 深度學習介紹 299
11.1.1 深度學習的概念 299
11.1.2 深度學習的結構 299
11.1.3 從機器學習到深度學習 301
11.2 深度學習基本方法 302
11.2.1 自動編碼器 302
11.2.2 稀疏編碼 304
11.3 深度學習模型 305
11.3.1 深度置信網絡 306
11.3.2 卷積神經網絡 308
11.4 深度學習的訓練加速 310
11.4.1 GPU加速 310
11.4.2 數據并行 311
11.4.3 模型并行 312
11.4.4 計算集群 313
11.5 深度學習應用 313
11.5.1 Google 314
11.5.2 百度 314
11.5.3 騰訊Mariana 315
11.6 練習題 316
參考文獻 316
第12章 電子商務與社會化網絡大數據分析 318
12.1 推薦系統(tǒng)簡介 318
12.1.1 推薦系統(tǒng)的評判標準 319
12.1.2 推薦系統(tǒng)的分類 319
12.1.3 在線推薦系統(tǒng)常用算法介紹 320
12.1.4 相關算法知識 323
12.2 計算廣告 327
12.2.1 計算廣告簡介 327
12.2.2 計算廣告發(fā)展階段 327
12.2.3 計算廣告相關算法 330
12.2.4 計算廣告與大數據 332
12.2.5 大數據在計算廣告中的應用案例 333
12