深入理解大數據-大數據處理與編程實踐 版權信息
- ISBN:9787111473251
- 條形碼:9787111473251 ; 978-7-111-47325-1
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
深入理解大數據-大數據處理與編程實踐 本書特色
學術界與業界完美結合的結晶,從原理剖析到系統化算法設計與編程實踐;
多年來系統性教學實踐和成果總結,一系列業界產品增強功能深度技術剖析;
一系列大賽獲獎算法、優秀課程設計以及來自科研課題及業界應用的實戰案例。
從計算技術的角度看,大數據處理是一種涉及到幾乎所有計算機技術層面的綜合性計算技術,涉及到計算機軟硬件技術的方方面面。大數據研究和應用已成為產業升級與新產業崛起的重要推動力量。
作為國內首本經過多年課堂教學實踐總結而成的大數據并行處理和編程技術書籍,本書全面地介紹了大數據處理相關的基本概念和原理,著重講述了Hadoop MapReduce大數據處理系統的組成結構、工作原理和編程模型,分析了基于MapReduce的各種大數據并行處理算法和程序設計的思想方法。適合高等院校作為MapReduce大數據并行處理技術課程的教材,同時也很適合作為大數據處理應用開發和編程專業技術人員的參考手冊。
我很高興地看到,該書已納入了教育部計算機類專業教學指導委員會制定的計算機類專業系統能力培養計劃。大數據處理是一門綜合性、極能體現計算機系統能力培養的課程。把大數據處理納入計算機類專業系統能力培養課程體系中第三層次的核心課程,作為一門起到一定“收官”作用的綜合性課程,這是在計算機系統能力培養方面的一個很好的嘗試。
—— 中國工程院院士、中國計算機學會大數據專家委員會主任 李國杰
作為國內較早從事大數據技術研究和教學的團隊之一,南京大學黃宜華教授和他的大數據實驗室同仁們在大數據技術領域已經進行了多年系統深入的研究工作,取得了卓有成效的研究成果。英特爾作為一家全球領先的計算技術公司,長期以來始終以計算技術的創新為己任。在大數據處理技術方面,我們也竭盡全力發揮出我們在軟硬件平臺的組合優勢引導大數據技術的全面發展和推廣。
這本《深入理解大數據》的力作正是我們雙方在大數據領域共同努力的結晶,是以學術界和業界完美結合的方式,在融合了學術界系統化的研究教學工作和業界深度的系統和應用研發工作基礎上,成功打造出的一本大數據技術佳作。相信這是一本適合軟件技術人員和 IT 行業管理人員理解和掌握大數據技術的不可多得的技術書籍,也是一本適合于在校大學生和研究生學習和掌握大數據處理和編程技術的好教材。
—— 英特爾亞太研發有限公司總經理 何京翔
深入理解大數據-大數據處理與編程實踐 內容簡介
本書從HadoopMapReduce并行計算技術與系統的基本原理剖析著手,在系統介紹基本工作原理、編程模型、編程框架和接口的基礎上,著重系統化地介紹MapReduce并行算法設計與編程技術,較為全面地介紹了基本MapReduce算法設計、高級MapReduce編程技術、以及一系列較為復雜的機器學習和數據挖掘并行化算法,并引入來自IntelHadoop系統產品的一系列增強功能以及深度技術剖析;*后,為了提高讀者的算法設計與編程實戰能力,本書較為詳細地介紹了一系列綜合性和實戰性大數據處理和算法設計問題,這些問題來自課程同學參加的全國性大數據大賽中的獲獎算法、課程中的優秀課程設計、以及來自本團隊的科研課題及業界實際的大數據應用實戰案例。
深入理解大數據-大數據處理與編程實踐 目錄
目 錄
推薦序一
推薦序二
推薦序三
叢書序言
前 言
**部分 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
展開全部
深入理解大數據-大數據處理與編程實踐 作者簡介
黃宜華博士,南京大學計算機科學與技術系教授、PASA大數據實驗室學術帶頭人。中國計算機學會大數據專家委員會委員、副秘書長,江蘇省計算機學會大數據專家委員會主任。于1983、1986和1997年獲得南京大學計算機專業學士、碩士和博士學位。主要研究方向為大數據并行處理、云計算以及Web信息挖掘等,發表學術研究論文60多篇。2010年在Google公司資助下在本校創建并開設了“MapReduce大數據并行處理技術”課程,成為全國最早開設該課程的院校之一。因在該課程教學和人才培養方面的出色成績獲得2012年Google獎教金。目前正在開展系統化的大數據并行處理技術研究工作,主持國家和省部級科研項目以及與美國Intel公司等業界的合作研究項目多項。
苗凱翔 (Kai X. Miao) 博士,英特爾中國大數據首席技術官,中國計算機學會大數據專家委員會委員。曾擔任英特爾中國區系統集成部總監、信息技術研究部門亞洲地區總監、英特爾北美地區解決方案首席架構師。于2009榮獲英特爾公司首席工程師職稱。在加入英特爾以前,曾在美國Rutgers與DeVry大學任教。獲得北方交通大學(北京)通信學士學位、美國辛辛那提大學電機工程碩士和博士學位。發表期刊和會議研究論文多篇,并擁有21項美國專利,在各種會議上發表過上百次主題演講,曾參與IETF、ITU 和 MIT CFP等工業標準的制定,并于2006 年擔任IEEE通信雜志的聯合編輯。