推薦序一
推薦序二
推薦序三
叢書序言
前 言
第一部分 Hadoop係統
第1章 大數據處理技術簡介 2
1.1 並行計算技術簡介 2
1.1.1 並行計算的基本概念 2
1.1.2 並行計算技術的分類 6
1.1.3 並行計算的主要技術問題 10
1.2 大數據處理技術簡介 13
1.2.1 大數據的發展背景和研究意義 13
1.2.2 大數據的技術特點 16
1.2.3 大數據研究的主要目標、基本原則和基本途徑 17
1.2.4 大數據計算模式和係統 18
1.2.5 大數據計算模式的發展趨勢 21
1.2.6 大數據的主要技術層麵和技術內容 22
1.3 MapReduce並行計算技術簡介 25
1.3.1 MapReduce的基本概念和由來 25
1.3.2 MapReduce的基本設計思想 26
1.3.3 MapReduce的主要功能和技術特徵 28
1.4 Hadoop係統簡介 30
1.4.1 Hadoop的概述與發展曆史 30
1.4.2 Hadoop係統分布式存儲與並行計算構架 31
1.4.3 Hadoop平颱的基本組成與生態係統 33
1.4.4 Hadoop的應用現狀和發展趨勢 37
第2章 Hadoop係統的安裝與操作管理 39
2.1 Hadoop係統安裝方法簡介 39
2.2 單機和單機僞分布式Hadoop係統安裝基本步驟 39
2.2.1 安裝和配置JDK 40
2.2.2 創建Hadoop用戶 40
2.2.3 下載安裝Hadoop 40
2.2.4 配置SSH 41
2.2.5 配置Hadoop環境 42
2.2.6 Hadoop的運行 43
2.2.7 運行測試程序 43
2.2.8 查看集群狀態 44
2.3 集群分布式Hadoop係統安裝基本步驟 44
2.3.1 安裝和配置JDK 44
2.3.2 創建Hadoop用戶 45
2.3.3 下載安裝Hadoop 45
2.3.4 配置SSH 45
2.3.5 配置Hadoop環境 46
2.3.6 Hadoop的運行 48
2.3.7 運行測試程序 48
2.3.8 查看集群狀態 49
2.4 Hadoop MapReduce程序開發過程 49
2.5 集群遠程作業提交與執行 53
2.5.1 集群遠程作業提交和執行過程 53
2.5.2 查看作業執行結果和集群狀態 53
第3章 大數據存儲——分布式文件係統HDFS 56
3.1 HDFS的基本特徵與構架 56
3.1.1 HDFS的基本特徵 57
3.1.2 HDFS的基本框架與工作過程 57
3.2 HDFS可靠性設計 60
3.2.1 HDFS數據塊多副本存儲設計 60
3.2.2 HDFS可靠性的設計實現 61
3.3 HDFS文件存儲組織與讀寫 63
3.3.1 文件數據的存儲組織 63
3.3.2 數據的讀寫過程 65
3.4 HDFS文件係統操作命令 68
3.4.1 HDFS啓動與關閉 68
3.4.2 HDFS文件操作命令格式與注意事項 69
3.4.3 HDFS文件操作命令 69
3.4.4 高級操作命令和工具 77
3.5 HDFS基本編程接口與示例 83
3.5.1 HDFS編程基礎知識 83
3.5.2 HDFS基本文件操作API 84
3.5.3 HDFS基本編程實例 87
第4章 Hadoop MapReduce並行編程框架 91
4.1 MapReduce基本編程模型和框架 91
4.1.1 MapReduce並行編程抽象模型 91
4.1.2 MapReduce的完整編程模型和框架 93
4.2 Hadoop MapReduce基本構架與工作過程 96
4.2.1 Hadoop係統構架和MapReduce程序執行過程 96
4.2.2 Hadoop MapReduce執行框架和作業執行流程 98
4.2.3 Hadoop MapReduce作業調度過程和調度方法 102
4.2.4 MapReduce執行框架的組件和執行流程 106
4.3 Hadoop MapReduce主要組件與編程接口 107
4.3.1 數據輸入格式InputFormat 107
4.3.2 輸入數據分塊InputSplit 109
4.3.3 數據記錄讀入RecordReader 110
4.3.4 Mapper類 112
4.3.5 Combiner 114
4.3.6 Partitioner 115
4.3.7 Sort 116
4.3.8 Reducer類 119
4.3.9 數據輸齣格式OutputFormat 120
4.3.10 數據記錄輸齣RecordWriter 122
第5章 分布式數據庫HBase 123
5.1 HBase簡介 123
5.1.1 為什麼需要NoSQL數據庫 123
5.1.2 HBase的作用和功能特點 125
5.2 HBase的數據模型 126
5.2.1 HBase的基本數據模型 126
5.2.2 HBase的查詢模式 128
5.2.3 HBase錶設計 129
5.3 HBase的基本構架與數據存儲管理方法 132
5.3.1 HBase在Hadoop生態中的位置和關係 132
5.3.2 HBase的基本組成結構 133
5.3.3 HBase Region 133
5.3.4 Region Server 135
5.3.5 HBase的總體組成結構 138
5.3.6 HBase的尋址和定位 139
5.3.7 HBase節點的上下綫管理 142
5.4 HBase安裝與操作 145
5.4.1 安裝一個單機版的HBase 145
5.4.2 HBase Shell操作命令 146
5.4.3 基於集群的HBase安裝和配置 149
5.5 HBase的編程接口和編程示例 152
5.5.1 錶創建編程接口與示例 152
5.5.2 錶數據更新編程接口與示例 153
5.5.3 數據讀取編程接口與示例 155
5.5.4 HBase MapReduce支持和編程示例 157
5.6 HBase的讀寫操作和特性 161
5.6.1 HBase的數據寫入 161
5.6.2 HBase的數據讀取 171
5.7 其他HBase功能 173
5.7.1 Coprocessor 173
5.7.2 批量數據導入Bulk Load 176
第6章 分布式數據倉庫Hive 179
6.1 Hive的作用與結構組成 179
6.2 Hive的數據模型 181
6.2.1 Hive的數據存儲模型 181
6.2.2 Hive的元數據存儲管理 182
6.2.3 Hive的數據類型 183
6.3 Hive的安裝 184
6.3.1 下載Hive安裝包 184
6.3.2 配置環境變量 184
6.3.3 創建Hive數據文件目錄 185
6.3.4 修改Hive配置文件 185
6.4 Hive查詢語言——HiveQL 188
6.4.1 DDL語句 188
6.4.2 DML語句 189
6.4.3 SELECT查詢語句 190
6.4.4 數據錶操作語句示例 190
6.4.5 分區的使用 192
6.4.6 桶的使用 193
6.4.7 子查詢 194
6.4.8 Hive的優化和高級功能 194
6.5 Hive JDBC編程接口與程序設計 196
第7章 Intel Hadoop係統優化與功能增強 200
7.1 Intel Hadoop係統簡介 200
7.1.1 Intel Hadoop係統的主要優化和增強功能 200
7.1.2 Intel Hadoop的係統構成與組件 201
7.2 Intel Hadoop係統的安裝和管理 202
7.3 Intel Hadoop HDFS的優化和功能擴展 202
7.3.1 HDFS的高可用性 203
7.3.2 Intel Hadoop係統高可用性配置服務 204
7.3.3 Intel Hadoop係統高可用性配置服務操作 206
7.3.4 自適應數據塊副本調整策略 208
7.4 Intel Hadoop HBase的功能擴展和編程示例 211
7.4.1 HBase大對象存儲(LOB) 211
7.4.2 加鹽錶 212
7.4.3 HBase跨數據中心大錶 213
7.5 Intel Hadoop Hive的功能擴展和編程示例 216
7.5.1 開源Hive的不足 216
7.5.2 Intel Hadoop“Hive over HBase”優化設計 216
7.5.3 Hive over HBase的架構 216
第二部分 MapReduce的編程和算法設計
第8章 MapReduce基礎算法程序設計 220
8.1 WordCount 220
8.1.1 WordCount算法編程實現 220
8.2 矩陣乘法 223
8.2.1 矩陣乘法原理和實現思路 223
8.2.2 矩陣乘法的MapReduce程序實現 224
8.3 關係代數運算 227
8.3.1 選擇操作 227
8.3.2 投影操作 228
8.3.3 交運算 229
8.3.4 差運算 230
8.3.5 自然連接 231
8.4 單詞共現算法 233
8.4.1 單詞共現算法的基本設計 233
8.4.2 單詞共現算法的實現 234
8.4.3 單詞共現算法實現中的細節問題 235
8.5 文檔倒排索引 237
8.5.1 簡單的文檔倒排索引 237
8.5.2 帶詞頻等屬性的文檔倒排索引 239
8.6 PageRank網頁排名算法 242
8.6.1 PageRank的簡化模型 243
8.6.2 PageRank的隨機瀏覽模型 244
8.6.3 PageRank的MapReduce實現 245
8.7 專利文獻分析算法 249
8.7.1 構建專利被引用列錶 250
8.7.2 專利被引用次數統計 251
8.7.3 專利被引用次數直方圖統計 252
8.7.4 按照年份或國傢統計專利數 254
第9章 MapReduce高級程序設計技術 256
9.1 簡介 256
9.2 復閤鍵值對的使用 257
9.2.1 把小的鍵值對閤並成大的鍵值對 257
9.2.2 巧用復閤鍵讓係統完成排序 259
9.3 用戶定製數據類型 262
9.3.1 Hadoop內置的數據類型 263
9.3.2 用戶自定義數據類型的實現 263
9.4 用戶定製數據輸入輸齣格式 264
9.4.1 Hadoop內置的數據輸入格式與RecordReader 265
9.4.2 用戶定製數據輸入格式與RecordReader 265
9.4.3 Hadoop內置的數據輸齣格式與RecordWriter 269
9.4.4 用戶定製數據輸齣格式與RecordWriter 269
9.4.5 通過定製數據輸齣格式實現多集閤文件輸齣 270
9.5 用戶定製Partitioner和Combiner 271
9.5.1 用戶定製Partitioner 272
9.5.2 用戶定製Combiner 273
9.6 組閤式MapReduce計算作業 274
9.6.1 迭代MapReduce計算任務 274
9.6.2 順序組閤式MapReduce作業的執行 275
9.6.3 具有復雜依賴關係的組閤式MapReduce作業的執行 275
9.6.4 MapReduce前處理和後處理步驟的鏈式執行 276
9.7 多數據源的連接 278
9.7.1 基本問題數據示例 279
9.7.2 用DataJoin類實現Reduce端連接 279
9.7.3 用全局文件復製方法實現Map端連接 285
9.7.4 帶Map端過濾的Reduce端連接 287
9.7.5 多數據源連接解決方法的限製 288
9.8 全局參數/數據文件的傳遞與使用 288
9.8.1 全局作業參數的傳遞 288
9.8.2 查詢全局的MapReduce作業屬性 290
9.8.3 全局數據文件的傳遞 291
9.9 關係數據庫的連接與訪問 292
9.9.1 從數據庫中輸入數據 292
9.9.2 嚮數據庫中輸齣計算結果 292
第10章 MapReduce數據挖掘基礎算法 295
10.1 K-Means聚類算法 295
10.1.1 K-Means聚類算法簡介 295
10.1.2 基於MapReduce的K-Means算法的設計實現 297
10.2 KNN最近鄰分類算法 300
10.2.1 KNN最近鄰分類算法簡介 300
10.2.2 基於MapReduce的KNN算法的設計實現 301
10.3 樸素貝葉斯分類算法 303
10.3.1 樸素貝葉斯分類算法簡介 303
10.3.2 樸素貝葉斯分類並行化算法的設計 304
10.3.3 樸素貝葉斯分類並行化算法的實現 306
10.4 決策樹分類算法 310
10.4.1 決策樹分類算法簡介 310
10.4.2 決策樹並行化算法的設計 313
10.4.3 決策樹並行化算法的實現 317
10.5 頻繁項集挖掘算法 327
10.5.1 頻繁項集挖掘問題描述 327
10.5.2 Apriori頻繁項集挖掘算法簡介 328
10.5.3 Apriori頻繁項集挖掘並行化算法的設計 329
10.5.4 Apriori頻繁項集挖掘並行化算法的實現 331
10.5.5 基於子集求取的頻繁項集挖掘算法的設計 335
10.5.6 基於子集求取的頻繁項集挖掘並行化算法的實現 336
10.6 隱馬爾科夫模型和最大期望算法 340
10.6.1 隱馬爾科夫模型的基本描述 340
10.6.2 隱馬爾科夫模型問題的解決方法 341
10.6.3 最大期望算法概述 345
10.6.4 並行化隱馬爾科夫算法設計 345
10.6.5 隱馬爾科夫算法的並行化實現 348
第11章 大數據處理算法設計與應用編程案例 352
11.1 基於MapReduce的搜索引擎算法 352
11.1.1 搜索引擎工作原理簡介 353
11.1.2 基於MapReduce的文檔預處理 354
11.1.3 基於MapReduce的文檔倒排索引構建 356
11.1.4 建立Web信息查詢服務 363
11.2 基於MapReduce的大規模短文本多分類算法 365
11.2.1 短文本多分類算法工作原理簡介 365
11.2.2 並行化分類訓練算法設計實現 366
11.2.3 並行化分類預測算法設計實現 369
11.3 基於MapReduce的大規模基因序列比對算法 371
11.3.1 基因序列比對算法簡介 371
11.3.2 並行化BLAST算法的設計與實現 373
11.4 基於MapReduce的大規模城市路徑規劃算法 379
11.4.1 問題背景和要求 379
11.4.2 數據輸入 380
11.4.3 程序設計要求 384
11.4.4 算法設計總體框架和處理過程 385
11.4.5 並行化算法的設計與實現 386
11.5 基於MapReduce的大規模重復文檔檢測算法 396
11.5.1 重復文檔檢測問題描述 396
11.5.2 重復文檔檢測方法和算法設計 397
11.5.3 重復文檔檢測並行化算法設計實現 401
11.6 基於內容的並行化圖像檢索算法與引擎 404
11.6.1 基於內容的圖像檢索問題概述 404
11.6.2 圖像檢索方法和算法設計思路 405
11.6.3 並行化圖像檢索算法實現 407
11.7 基於MapReduce的大規模微博傳播分析 412
11.7.1 微博分析問題背景與並行化處理過程 413
11.7.2 並行化微博數據獲取算法的設計實現 414
11.7.3 並行化微博數據分析算法的設計實現 416
11.8 基於關聯規則挖掘的圖書推薦算法 422
11.8.1 圖書推薦和關聯規則挖掘簡介 422
11.8.2 圖書頻繁項集挖掘算法設計與數據獲取 423
11.8.3 圖書關聯規則挖掘並行化算法實現 425
11.9 基於Hadoop的城市智能交通綜閤應用案例 432
11.9.1 應用案例概述 432
11.9.2 案例一:交通事件檢測 433
11.9.3 案例二:交通流統計分析功能 435
11.9.4 案例三:道路旅行時間分析 435
11.9.5 案例四:HBase實時查詢 436
11.9.6 案例五:HBase Endpoint快速統計 437
11.9.7 案例六:利用Hive高速統計 439
附 錄
附錄A OpenMP並行程序設計簡介 442
附錄B MPI並行程序設計簡介 448
附錄C 英特爾Apache Hadoop*係統安裝手冊 457
參考文獻 486
· · · · · · (
收起)