Hadoop集群程序設(shè)計(jì)與開(kāi)發(fā)
定 價(jià):59.8 元
叢書(shū)名:數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)系列規(guī)劃教材
- 作者:王宏志 李春靜
- 出版時(shí)間:2018/8/1
- ISBN:9787115483041
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)主要內(nèi)容包括:第 1章 初識(shí)Hadoop、第 2章 Hadoop基礎(chǔ)、第3章 Hadoop開(kāi)發(fā)環(huán)境配置與搭建、第4章 Hadoop分布式文件系統(tǒng)(HDFS)、第5章 資源管理器(Yarn)、第6章 MapReduce基礎(chǔ)程序設(shè)計(jì)、第7章 MapReduce程序設(shè)計(jì)、第8章 分布式數(shù)據(jù)庫(kù)HBase、第9章 分布式數(shù)據(jù)倉(cāng)庫(kù)Hive、第 10章 項(xiàng)目測(cè)試與發(fā)布
1. 校企結(jié)合典型案例。
2. 華為提供技術(shù)支持和技術(shù)案例。
3. 計(jì)算機(jī)教指委提供專家指導(dǎo)意見(jiàn)。
4. 作者來(lái)自985高校,水平高。
5. 配套資源豐富。
王宏志,哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院海量數(shù)據(jù)計(jì)算研究中心教授,中國(guó)計(jì)算機(jī)學(xué)會(huì)數(shù)據(jù)庫(kù)專委會(huì)委員。
第1章 初識(shí)Hadoop 1
1.1 為什么要學(xué)習(xí)Hadoop 2
1.1.1 信息化項(xiàng)目衍生過(guò)程 2
1.1.2 Hadoop產(chǎn)生過(guò)程 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ù)的存儲(chǔ)結(jié)構(gòu) 15
1.3.3 大數(shù)據(jù)的計(jì)算模式 15
1.3.4 Hadoop在大數(shù)據(jù)中扮演的角色 16
1.4 學(xué)習(xí)Hadoop需要具備的知識(shí)基礎(chǔ) 16
1.5 學(xué)習(xí)Hadoop需要的實(shí)驗(yàn)環(huán)境 17
1.6 Hadoop的用途 17
1.7 小結(jié) 17
第2章 Hadoop基礎(chǔ)知識(shí) 18
2.1 Hadoop簡(jiǎn)介 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簡(jiǎn)介 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)用場(chǎ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)用場(chǎ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 容錯(cuò)機(jī)制 64
2.9 安全性 66
2.10 小結(jié) 67
第3章 Hadoop開(kāi)發(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無(wú)密碼登錄 72
3.2.3 Hadoop本地環(huán)境參數(shù)配置 74
3.2.4 Hadoop本地模式驗(yàn)證 74
3.3 偽分布模式搭建 74
3.3.1 配置過(guò)程 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集群?jiǎn)⑼Ec驗(yàn)證 84
3.5 基于Hadoop平臺(tái)的Eclipse開(kāi)發(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ù)的過(guò)程 95
4.1.2 HDFS寫數(shù)據(jù)的過(guò)程 96
4.1.3 HDFS刪除與恢復(fù)數(shù)據(jù)的過(guò)程 97
4.2 HDFS常用命令行操作概述 98
4.2.1 HDFS命令行 98
4.2.2 HDFS常用命令行操作 102
4.3 通過(guò)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編程過(guò)程 147
6.2 由WordCount理解MapReduce編程過(guò)程 147
6.2.1 準(zhǔn)備工作 147
6.2.2 Mapper工作過(guò)程 148
6.2.3 Reducer工作過(guò)程 151
6.2.4 Job工作過(guò)程 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ì)算高級(jí)編程模型 181
6.8.1 FlumeJava結(jié)構(gòu) 181
6.8.2 FlumeJava優(yōu)化 183
6.9 小結(jié) 183
第7章 MapReduce高級(jí)編程 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)全排序過(guò)程 200
7.3.4 通過(guò)抽樣實(shí)現(xiàn)全排序過(guò)程 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章 初識(shí)HBase 221
8.1 HBase基礎(chǔ)知識(shí) 222
8.1.1 HBase特征 222
8.1.2 HBase數(shù)據(jù)模型 223
8.1.3 HBase體系結(jié)構(gòu) 225
8.2 HBase開(kāi)發(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啟動(dòng)、停止、監(jiān)控 236
8.3 HBase基本Shell操作 237
8.3.1 HBase Shell啟動(dòng) 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 過(guò)濾器 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值的存儲(chǔ)與讀取的特點(diǎn) 250
8.5.2 HBase值存儲(chǔ)特點(diǎn)引發(fā)的問(wèn)題 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)勢(shì) 254
8.7 小結(jié) 255
第9章 初識(shí)Hive 256
9.1 Hive基礎(chǔ)知識(shí) 257
9.1.1 Hive的存儲(chǔ)結(jié)構(gòu) 257
9.1.2 Hive與傳統(tǒng)數(shù)據(jù)庫(kù)的比較 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 初識(shí)Hive Shell 264
9.2.5 Java通過(guò)JDBC對(duì)Hive操作 266
9.3 HiveQL基本語(yǔ)法 269
9.3.1 Hive中的數(shù)據(jù)庫(kù) 270
9.3.2 創(chuàng)建表的基本語(yǔ)法 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語(yǔ)句 284
9.4.2 WHERE語(yǔ)句 285
9.4.3 嵌套SELECT語(yǔ)句 286
9.4.4 Hive函數(shù) 287
9.4.5 GROUP BY語(yǔ)句 303
9.4.6 JOIN語(yǔ)句 305
9.4.7 UNION ALL語(yǔ)句 310
9.4.8 ORDER BY和SORT BY語(yǔ)句 310
9.4.9 含有SORT BY的DISTRIBUTEBY語(yǔ)句 311
9.4.10 CLUSTER BY語(yǔ)句 312
9.5 視圖和索引 313
9.5.1 視圖 313
9.5.2 索引 314
9.6 Hive與HBase集成 315
9.7 小結(jié) 318
附錄 《Hadoop集群程序設(shè)計(jì)與開(kāi)發(fā)》配套實(shí)驗(yàn)課程方案簡(jiǎn)介 319