Hadoop集群程序設(shè)計(jì)與開發(fā)
定 價(jià):59.8 元
叢書名:數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)系列規(guī)劃教材
- 作者:王宏志 李春靜
- 出版時(shí)間: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è)計(jì)、第7章 MapReduce程序設(shè)計(jì)、第8章 分布式數(shù)據(jù)庫HBase、第9章 分布式數(shù)據(jù)倉庫Hive、第 10章 項(xiàng)目測試與發(fā)布
1. 校企結(jié)合典型案例。
2. 華為提供技術(shù)支持和技術(shù)案例。
3. 計(jì)算機(jī)教指委提供專家指導(dǎo)意見。
4. 作者來自985高校,水平高。
5. 配套資源豐富。
王宏志,哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院海量數(shù)據(jù)計(jì)算研究中心教授,中國計(jì)算機(jī)學(xué)會數(shù)據(jù)庫專委會委員。
第1章 初識Hadoop 1
1.1 為什么要學(xué)習(xí)Hadoop 2
1.1.1 信息化項(xiàng)目衍生過程 2
1.1.2 Hadoop產(chǎn)生過程 5
1.1.3 Hadoop成功案例介紹 8
1.2 Hadoop與云計(jì)算的關(guān)系 8
1.2.1 什么是云計(jì)算 8
1.2.2 云計(jì)算演進(jìn)歷史 10
1.2.3 云計(jì)算相關(guān)技術(shù)介紹 12
1.2.4 Hadoop在云項(xiàng)目中扮演的角色 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ù)的計(jì)算模式 15
1.3.4 Hadoop在大數(shù)據(jù)中扮演的角色 16
1.4 學(xué)習(xí)Hadoop需要具備的知識基礎(chǔ) 16
1.5 學(xué)習(xí)Hadoop需要的實(shí)驗(yàn)環(huán)境 17
1.6 Hadoop的用途 17
1.7 小結(jié) 17
第2章 Hadoop基礎(chǔ)知識 18
2.1 Hadoop簡介 19
2.1.1 Apache Hadoop項(xiàng)目核心模塊 19
2.1.2 Apache Hadoop項(xiàng)目的其他模塊 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ù)交換的改進(jìn) 28
2.4 MapReduce工作原理 30
2.4.1 MapReduce計(jì)算模型 32
2.4.2 MapReduce經(jīng)典案例 33
2.4.3 MapReduce應(yīng)用場景 34
2.5 Hadoop改進(jìn) 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è)計(jì):提升大數(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機(jī)架感知 51
2.6.6 HDFS安全模式 53
2.6.7 HDFS應(yīng)用場景介紹 53
2.6.8 混合HDFS的設(shè)計(jì):充分利用硬件能力獲得最佳性能 53
2.7 YARN工作原理 55
2.7.1 YARN on HDFS的工作原理 55
2.7.2 MapReduce on YARN的工作原理 58
2.8 容錯機(jī)制 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 本地/獨(dú)立模式搭建 71
3.2.1 JDK安裝與配置 71
3.2.2 SSH無密碼登錄 72
3.2.3 Hadoop本地環(huán)境參數(shù)配置 74
3.2.4 Hadoop本地模式驗(yàn)證 74
3.3 偽分布模式搭建 74
3.3.1 配置過程 75
3.3.2 格式化HDFS 76
3.3.3 Hadoop進(jìn)程啟停與驗(yàn)證 76
3.4 全分布模式搭建 77
3.4.1 Hadoop網(wǎng)絡(luò)配置 77
3.4.2 Hadoop集群SSH配置 79
3.4.3 時(shí)間同步 80
3.4.4 IP與機(jī)器名映射 82
3.4.5 Hadoop環(huán)境配置 82
3.4.6 Hadoop集群啟停與驗(yàn)證 84
3.5 基于Hadoop平臺的Eclipse開發(fā)環(huán)境的搭建 84
3.5.1 Hadoop Eclipse插件配置 85
3.5.2 編寫第一個(gè)MapReduce程序 88
3.5.3 編譯打包及運(yùn)行程序 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刪除與恢復(fù)數(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 準(zhǔn)備工作 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 默認(rèn)輸入格式 156
6.4.2 FileInput輸入 160
6.4.3 多路徑輸入 161
6.4.4 自定義輸入分片 163
6.5 Shuffle 166
6.5.1 Shuffle運(yùn)行原理 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案例進(jìn)一步講解Combiner 173
6.7 OutputFormat輸出 178
6.8 編程模型的擴(kuò)展FlumeJava:云計(jì)算高級編程模型 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 計(jì)數(shù)器 185
7.1.1 內(nèi)置計(jì)數(shù)器 185
7.1.2 自定義計(jì)數(shù)器 188
7.1.3 計(jì)數(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í)驗(yàn)數(shù)據(jù)準(zhǔn)備 199
7.3.3 自定義分區(qū)實(shí)現(xiàn)全排序過程 200
7.3.4 通過抽樣實(shí)現(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)境配置基本準(zhǔn)備條件 232
8.2.2 HBase配置文件 233
8.2.3 HBase獨(dú)立安裝 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è)計(jì) 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 計(jì)數(shù)器 247
8.4.7 MapReduce與HBase互操作 247
8.5 RowKey設(shè)計(jì) 250
8.5.1 HBase值的存儲與讀取的特點(diǎn) 250
8.5.2 HBase值存儲特點(diǎn)引發(fā)的問題 250
8.5.3 RowKey設(shè)計(jì)遵循的原則 251
8.6 HBase的高性能設(shè)計(jì):使用InfiniBand的RDMA 253
8.6.1 設(shè)計(jì) 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獨(dú)立模式安裝 262
9.2.3 Hive遠(yuǎn)程模式安裝 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 表維護(hù) 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è)計(jì)與開發(fā)》配套實(shí)驗(yàn)課程方案簡介 319