定 價:59.8 元
叢書名:數(shù)據(jù)科學與大數(shù)據(jù)技術(shù)專業(yè)系列規(guī)劃教材
- 作者:王宏志 李春靜
- 出版時間:2018/8/1
- ISBN:9787115483041
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書主要內(nèi)容包括:第 1章 初識Hadoop、第 2章 Hadoop基礎(chǔ)、第3章 Hadoop開發(fā)環(huán)境配置與搭建、第4章 Hadoop分布式文件系統(tǒng)(HDFS)、第5章 資源管理器(Yarn)、第6章 MapReduce基礎(chǔ)程序設(shè)計、第7章 MapReduce程序設(shè)計、第8章 分布式數(shù)據(jù)庫HBase、第9章 分布式數(shù)據(jù)倉庫Hive、第 10章 項目測試與發(fā)布
1. 校企結(jié)合典型案例。
2. 華為提供技術(shù)支持和技術(shù)案例。
3. 計算機教指委提供專家指導意見。
4. 作者來自985高校,水平高。
5. 配套資源豐富。
王宏志,哈爾濱工業(yè)大學計算機科學與技術(shù)學院海量數(shù)據(jù)計算研究中心教授,中國計算機學會數(shù)據(jù)庫專委會委員。
第1章 初識Hadoop 1
1.1 為什么要學習Hadoop 2
1.1.1 信息化項目衍生過程 2
1.1.2 Hadoop產(chǎn)生過程 5
1.1.3 Hadoop成功案例介紹 8
1.2 Hadoop與云計算的關(guān)系 8
1.2.1 什么是云計算 8
1.2.2 云計算演進歷史 10
1.2.3 云計算相關(guān)技術(shù)介紹 12
1.2.4 Hadoop在云項目中扮演的角色 12
1.3 Hadoop與大數(shù)據(jù)的關(guān)系 13
1.3.1 什么是大數(shù)據(jù) 13
1.3.2 大數(shù)據(jù)的存儲結(jié)構(gòu) 15
1.3.3 大數(shù)據(jù)的計算模式 15
1.3.4 Hadoop在大數(shù)據(jù)中扮演的角色 16
1.4 學習Hadoop需要具備的知識基礎(chǔ) 16
1.5 學習Hadoop需要的實驗環(huán)境 17
1.6 Hadoop的用途 17
1.7 小結(jié) 17
第2章 Hadoop基礎(chǔ)知識 18
2.1 Hadoop簡介 19
2.1.1 Apache Hadoop項目核心模塊 19
2.1.2 Apache Hadoop項目的其他模塊 20
2.2 Hadoop版本演化 22
2.3 RPC工作原理 23
2.3.1 RPC簡介 24
2.3.2 Hadoop中的RPC 25
2.3.3 RPCoIB和JVM-旁路緩沖管理方案:在高性能網(wǎng)絡(luò)InfiniBand上數(shù)據(jù)交換的改進 28
2.4 MapReduce工作原理 30
2.4.1 MapReduce計算模型 32
2.4.2 MapReduce經(jīng)典案例 33
2.4.3 MapReduce應(yīng)用場景 34
2.5 Hadoop改進 34
2.5.1 LATE算法:良好的適應(yīng)異構(gòu)性環(huán)境 35
2.5.2 Mantri:MapReduce異常處理 36
2.5.3 SkewTune:MapReduce中數(shù)據(jù)偏斜處理 37
2.5.4 基于RDMA的MapReduce設(shè)計:提升大數(shù)據(jù)應(yīng)用的性能和規(guī)!42
2.6 HDFS工作原理 44
2.6.1 HDFS介紹 45
2.6.2 HDFS體系結(jié)構(gòu) 47
2.6.3 文件系統(tǒng)的命名空間 50
2.6.4 HDFS中Block副本放置策略 51
2.6.5 HDFS機架感知 51
2.6.6 HDFS安全模式 53
2.6.7 HDFS應(yīng)用場景介紹 53
2.6.8 混合HDFS的設(shè)計:充分利用硬件能力獲得最佳性能 53
2.7 YARN工作原理 55
2.7.1 YARN on HDFS的工作原理 55
2.7.2 MapReduce on YARN的工作原理 58
2.8 容錯機制 64
2.9 安全性 66
2.10 小結(jié) 67
第3章 Hadoop開發(fā)環(huán)境配置與搭建 68
3.1 集群部署 69
3.1.1 安裝包版本的選擇 69
3.1.2 Hadoop安裝先決條件 69
3.1.3 Hadoop安裝模式 70
3.2 本地/獨立模式搭建 71
3.2.1 JDK安裝與配置 71
3.2.2 SSH無密碼登錄 72
3.2.3 Hadoop本地環(huán)境參數(shù)配置 74
3.2.4 Hadoop本地模式驗證 74
3.3 偽分布模式搭建 74
3.3.1 配置過程 75
3.3.2 格式化HDFS 76
3.3.3 Hadoop進程啟停與驗證 76
3.4 全分布模式搭建 77
3.4.1 Hadoop網(wǎng)絡(luò)配置 77
3.4.2 Hadoop集群SSH配置 79
3.4.3 時間同步 80
3.4.4 IP與機器名映射 82
3.4.5 Hadoop環(huán)境配置 82
3.4.6 Hadoop集群啟停與驗證 84
3.5 基于Hadoop平臺的Eclipse開發(fā)環(huán)境的搭建 84
3.5.1 Hadoop Eclipse插件配置 85
3.5.2 編寫第一個MapReduce程序 88
3.5.3 編譯打包及運行程序 90
3.6 小結(jié) 93
第4章 Hadoop分布式文件系統(tǒng) 94
4.1 HDFS工作原理 95
4.1.1 HDFS讀數(shù)據(jù)的過程 95
4.1.2 HDFS寫數(shù)據(jù)的過程 96
4.1.3 HDFS刪除與恢復數(shù)據(jù)的過程 97
4.2 HDFS常用命令行操作概述 98
4.2.1 HDFS命令行 98
4.2.2 HDFS常用命令行操作 102
4.3 通過Web瀏覽HDFS文件 105
4.4 HDFS API 106
4.4.1 使用FileSystem API讀取數(shù)據(jù)命令行 112
4.4.2 使用FileSystem API寫入數(shù)據(jù)命令行 115
4.4.3 FileUtil文件處理 116
4.5 小結(jié) 117
第5章 Hadoop的I/O操作 118
5.1 壓縮 119
5.1.1 Hadoop壓縮類型 119
5.1.2 CompressionCodec接口 121
5.1.3 CompressionCodecFactory類 123
5.1.4 壓縮池 125
5.1.5 Hadoop中使用壓縮 127
5.2 I/O序列化類型 128
5.2.1 Writable接口 129
5.2.2 Java基本類型的Writable封裝器 131
5.2.3 IntWritable與VIntWritable類 133
5.2.4 Text類 134
5.2.5 BytesWritable類 135
5.2.6 NullWritable類 136
5.2.7 ObjectWritable類 136
5.2.8 自定義Writable接口 138
5.3 基于文件的數(shù)據(jù)結(jié)構(gòu) 141
5.3.1 SequenceFile 141
5.3.2 MapFile 144
5.4 小結(jié) 145
第6章 MapReduce編程基礎(chǔ) 146
6.1 剖析MapReduce編程過程 147
6.2 由WordCount理解MapReduce編程過程 147
6.2.1 準備工作 147
6.2.2 Mapper工作過程 148
6.2.3 Reducer工作過程 151
6.2.4 Job工作過程 153
6.3 MapReduce類型 155
6.4 Mapper輸入 155
6.4.1 默認輸入格式 156
6.4.2 FileInput輸入 160
6.4.3 多路徑輸入 161
6.4.4 自定義輸入分片 163
6.5 Shuffle 166
6.5.1 Shuffle運行原理 166
6.5.2 分區(qū) 168
6.5.3 排序 170
6.5.4 分組 171
6.6 Combiner 172
6.6.1 由WordCount案例講解Combiner 172
6.6.2 由SVG案例進一步講解Combiner 173
6.7 OutputFormat輸出 178
6.8 編程模型的擴展FlumeJava:云計算高級編程模型 181
6.8.1 FlumeJava結(jié)構(gòu) 181
6.8.2 FlumeJava優(yōu)化 183
6.9 小結(jié) 183
第7章 MapReduce高級編程 184
7.1 計數(shù)器 185
7.1.1 內(nèi)置計數(shù)器 185
7.1.2 自定義計數(shù)器 188
7.1.3 計數(shù)器結(jié)果查看 190
7.2 最值 191
7.2.1 單一最值 191
7.2.2 Top N 195
7.3 全排序 198
7.3.1 全排序業(yè)務(wù)需求 198
7.3.2 實驗數(shù)據(jù)準備 199
7.3.3 自定義分區(qū)實現(xiàn)全排序過程 200
7.3.4 通過抽樣實現(xiàn)全排序過程 203
7.4 二次排序 206
7.4.1 解決方案 207
7.4.2 例子 210
7.5 連接 211
7.5.1 Reduce端連接 213
7.5.2 Map端連接 217
7.6 小結(jié) 220
第8章 初識HBase 221
8.1 HBase基礎(chǔ)知識 222
8.1.1 HBase特征 222
8.1.2 HBase數(shù)據(jù)模型 223
8.1.3 HBase體系結(jié)構(gòu) 225
8.2 HBase開發(fā)環(huán)境配置與安裝 231
8.2.1 HBase環(huán)境配置基本準備條件 232
8.2.2 HBase配置文件 233
8.2.3 HBase獨立安裝 234
8.2.4 HBase偽分布式安裝 234
8.2.5 HBase完全分布式安裝 235
8.2.6 HBase啟動、停止、監(jiān)控 236
8.3 HBase基本Shell操作 237
8.3.1 HBase Shell啟動 237
8.3.2 HBase Shell通用命令 237
8.3.3 HBase Shell表管理命令 238
8.3.4 HBase Shell表操作命令 238
8.3.5 HBase Shell應(yīng)用舉例 239
8.4 基于HBase API程序設(shè)計 239
8.4.1 管理表結(jié)構(gòu) 240
8.4.2 管理表信息 242
8.4.3 Scan 244
8.4.4 過濾器 245
8.4.5 協(xié)處理器 247
8.4.6 計數(shù)器 247
8.4.7 MapReduce與HBase互操作 247
8.5 RowKey設(shè)計 250
8.5.1 HBase值的存儲與讀取的特點 250
8.5.2 HBase值存儲特點引發(fā)的問題 250
8.5.3 RowKey設(shè)計遵循的原則 251
8.6 HBase的高性能設(shè)計:使用InfiniBand的RDMA 253
8.6.1 設(shè)計 254
8.6.2 優(yōu)勢 254
8.7 小結(jié) 255
第9章 初識Hive 256
9.1 Hive基礎(chǔ)知識 257
9.1.1 Hive的存儲結(jié)構(gòu) 257
9.1.2 Hive與傳統(tǒng)數(shù)據(jù)庫的比較 258
9.2 Hive環(huán)境安裝 260
9.2.1 Hive內(nèi)嵌模式安裝 261
9.2.2 Hive獨立模式安裝 262
9.2.3 Hive遠程模式安裝 263
9.2.4 初識Hive Shell 264
9.2.5 Java通過JDBC對Hive操作 266
9.3 HiveQL基本語法 269
9.3.1 Hive中的數(shù)據(jù)庫 270
9.3.2 創(chuàng)建表的基本語法 271
9.3.3 表中數(shù)據(jù)的加載 273
9.3.4 HiveQL的數(shù)據(jù)類型 274
9.3.5 數(shù)據(jù)類型轉(zhuǎn)換 277
9.3.6 文本文件數(shù)據(jù)編碼 278
9.3.7 分區(qū)和桶 279
9.3.8 表維護 282
9.4 HiveQL基本查詢 283
9.4.1 SELECT…FROM語句 284
9.4.2 WHERE語句 285
9.4.3 嵌套SELECT語句 286
9.4.4 Hive函數(shù) 287
9.4.5 GROUP BY語句 303
9.4.6 JOIN語句 305
9.4.7 UNION ALL語句 310
9.4.8 ORDER BY和SORT BY語句 310
9.4.9 含有SORT BY的DISTRIBUTEBY語句 311
9.4.10 CLUSTER BY語句 312
9.5 視圖和索引 313
9.5.1 視圖 313
9.5.2 索引 314
9.6 Hive與HBase集成 315
9.7 小結(jié) 318
附錄 《Hadoop集群程序設(shè)計與開發(fā)》配套實驗課程方案簡介 319