Hadoop集群程式設計與開發

Hadoop集群程式設計與開發

《Hadoop集群程式設計與開發》是2019年8月人民郵電出版社出版的圖書,作者是王宏志、李春靜。

基本介紹

  • 中文名:Hadoop集群程式設計與開發
  • 作者:王宏志、李春靜
  • 出版社:人民郵電出版社
  • 出版時間:2019年8月
  • 定價:59.8 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115483041
內容簡介,圖書目錄,

內容簡介

本書主要內容包括:第 1章 初識Hadoop、第 2章 Hadoop基礎、第3章 Hadoop開發環境配置與搭建、第4章 Hadoop分散式檔案系統(HDFS)、第5章 資源管理器(Yarn)、第6章 MapReduce基礎程式設計、第7章 MapReduce程式設計、第8章 分散式資料庫HBase、第9章 分散式數據倉庫Hive、第 10章 項目測試與發布。

圖書目錄

第1章 初識Hadoop 1
1.1 為什麼要學習Hadoop 2
1.1.1 信息化項目衍生過程 2
1.1.2 Hadoop產生過程 5
1.1.3 Hadoop成功案例介紹 8
1.2 Hadoop與雲計算的關係 8
1.2.1 什麼是雲計算 8
1.2.2 雲計算演進歷史 10
1.2.3 雲計算相關技術介紹 12
1.2.4 Hadoop在雲項目中扮演的角色 12
1.3 Hadoop與大數據的關係 13
1.3.1 什麼是大數據 13
1.3.2 大數據的存儲結構 15
1.3.3 大數據的計算模式 15
1.3.4 Hadoop在大數據中扮演的角色 16
1.4 學習Hadoop需要具備的知識基礎 16
1.5 學習Hadoop需要的實驗環境 17
1.6 Hadoop的用途 17
1.7 小結 17
第2章 Hadoop基礎知識 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-旁路緩衝管理方案:在高性能網路InfiniBand上數據交換的改進 28
2.4 MapReduce工作原理 30
2.4.1 MapReduce計算模型 32
2.4.2 MapReduce經典案例 33
2.4.3 MapReduce套用場景 34
2.5 Hadoop改進 34
2.5.1 LATE算法:良好的適應異構性環境 35
2.5.2 Mantri:MapReduce異常處理 36
2.5.3 SkewTune:MapReduce中數據偏斜處理 37
2.5.4 基於RDMA的MapReduce設計:提升大數據套用的性能和規模 42
2.6 HDFS工作原理 44
2.6.1 HDFS介紹 45
2.6.2 HDFS體系結構 47
2.6.3 檔案系統的命名空間 50
2.6.4 HDFS中Block副本放置策略 51
2.6.5 HDFS機架感知 51
2.6.6 HDFS安全模式 53
2.6.7 HDFS套用場景介紹 53
2.6.8 混合HDFS的設計:充分利用硬體能力獲得最佳性能 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 小結 67
第3章 Hadoop開發環境配置與搭建 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本地環境參數配置 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網路配置 77
3.4.2 Hadoop集群SSH配置 79
3.4.3 時間同步 80
3.4.4 IP與機器名映射 82
3.4.5 Hadoop環境配置 82
3.4.6 Hadoop集群啟停與驗證 84
3.5 基於Hadoop平台的Eclipse開發環境的搭建 84
3.5.1 Hadoop Eclipse外掛程式配置 85
3.5.2 編寫第一個MapReduce程式 88
3.5.3 編譯打包及運行程式 90
3.6 小結 93
第4章 Hadoop分散式檔案系統 94
4.1 HDFS工作原理 95
4.1.1 HDFS讀數據的過程 95
4.1.2 HDFS寫數據的過程 96
4.1.3 HDFS刪除與恢複數據的過程 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讀取數據命令行 112
4.4.2 使用FileSystem API寫入數據命令行 115
4.4.3 FileUtil檔案處理 116
4.5 小結 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 基於檔案的數據結構 141
5.3.1 SequenceFile 141
5.3.2 MapFile 144
5.4 小結 145
第6章 MapReduce編程基礎 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 分區 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結構 181
6.8.2 FlumeJava最佳化 183
6.9 小結 183
第7章 MapReduce高級編程 184
7.1 計數器 185
7.1.1 內置計數器 185
7.1.2 自定義計數器 188
7.1.3 計數器結果查看 190
7.2 最值 191
7.2.1 單一最值 191
7.2.2 Top N 195
7.3 全排序 198
7.3.1 全排序業務需求 198
7.3.2 實驗數據準備 199
7.3.3 自定義分區實現全排序過程 200
7.3.4 通過抽樣實現全排序過程 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 小結 220
第8章 初識HBase 221
8.1 HBase基礎知識 222
8.1.1 HBase特徵 222
8.1.2 HBase數據模型 223
8.1.3 HBase體系結構 225
8.2 HBase開發環境配置與安裝 231
8.2.1 HBase環境配置基本準備條件 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啟動、停止、監控 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套用舉例 239
8.4 基於HBase API程式設計 239
8.4.1 管理表結構 240
8.4.2 管理表信息 242
8.4.3 Scan 244
8.4.4 過濾器 245
8.4.5 協處理器 247
8.4.6 計數器 247
8.4.7 MapReduce與HBase互操作 247
8.5 RowKey設計 250
8.5.1 HBase值的存儲與讀取的特點 250
8.5.2 HBase值存儲特點引發的問題 250
8.5.3 RowKey設計遵循的原則 251
8.6 HBase的高性能設計:使用InfiniBand的RDMA 253
8.6.1 設計 254
8.6.2 優勢 254
8.7 小結 255
第9章 初識Hive 256
9.1 Hive基礎知識 257
9.1.1 Hive的存儲結構 257
9.1.2 Hive與傳統資料庫的比較 258
9.2 Hive環境安裝 260
9.2.1 Hive內嵌模式安裝 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中的資料庫 270
9.3.2 創建表的基本語法 271
9.3.3 表中數據的載入 273
9.3.4 HiveQL的數據類型 274
9.3.5 數據類型轉換 277
9.3.6 文本檔案數據編碼 278
9.3.7 分區和桶 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函式 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 小結 318
附錄 《Hadoop集群程式設計與開發》配套實驗課程方案簡介 319

相關詞條

熱門詞條

聯絡我們