注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡家庭與辦公軟件Hadoop集群程序設計與開發(fā)

Hadoop集群程序設計與開發(fā)

Hadoop集群程序設計與開發(fā)

定 價:¥59.80

作 者: 王宏志,李春靜 著
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115483041 出版時間: 2018-08-01 包裝: 平裝
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書主要內(nèi)容包括:第 1章 初識Hadoop、第 2章 Hadoop基礎、第3章 Hadoop開發(fā)環(huán)境配置與搭建、第4章 Hadoop分布式文件系統(tǒng)(HDFS)、第5章 資源管理器(Yarn)、第6章 MapReduce基礎程序設計、第7章 MapReduce程序設計、第8章 分布式數(shù)據(jù)庫HBase、第9章 分布式數(shù)據(jù)倉庫Hive、第 10章 項目測試與發(fā)布

作者簡介

  王宏志,哈爾濱工業(yè)大學計算機科學與技術學院海量數(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與云計算的關系 8

1.2.1 什么是云計算 8

1.2.2 云計算演進歷史 10

1.2.3 云計算相關技術介紹 12

1.2.4 Hadoop在云項目中扮演的角色 12

1.3 Hadoop與大數(shù)據(jù)的關系 13

1.3.1 什么是大數(shù)據(jù) 13

1.3.2 大數(shù)據(jù)的存儲結構 15

1.3.3 大數(shù)據(jù)的計算模式 15

1.3.4 Hadoop在大數(shù)據(jù)中扮演的角色 16

1.4 學習Hadoop需要具備的知識基礎 16

1.5 學習Hadoop需要的實驗環(huán)境 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-旁路緩沖管理方案:在高性能網(wǎng)絡InfiniBand上數(shù)據(jù)交換的改進 28

2.4 MapReduce工作原理 30

2.4.1 MapReduce計算模型 32

2.4.2 MapReduce經(jīng)典案例 33

2.4.3 MapReduce應用場景 34

2.5 Hadoop改進 34

2.5.1 LATE算法:良好的適應異構性環(huán)境 35

2.5.2 Mantri:MapReduce異常處理 36

2.5.3 SkewTune:MapReduce中數(shù)據(jù)偏斜處理 37

2.5.4 基于RDMA的MapReduce設計:提升大數(shù)據(jù)應用的性能和規(guī)?!?2

 2.6 HDFS工作原理 44

2.6.1 HDFS介紹 45

2.6.2 HDFS體系結構 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應用場景介紹 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開發(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)絡配置 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 小結 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 小結 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ù)結構 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 分區(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結構 181

6.8.2 FlumeJava優(yōu)化 183

6.9 小結 183

第7章 MapReduce高級編程 184

7.1 計數(shù)器 185

7.1.1 內(nèi)置計數(shù)器 185

7.1.2 自定義計數(shù)器 188

7.1.3 計數(shù)器結果查看 190

7.2 最值 191

7.2.1 單一最值 191

7.2.2 Top N 195

7.3 全排序 198

7.3.1 全排序業(yè)務需求 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 小結 220

第8章 初識HBase 221

8.1 HBase基礎知識 222

8.1.1 HBase特征 222

8.1.2 HBase數(shù)據(jù)模型 223

8.1.3 HBase體系結構 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應用舉例 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 協(xié)處理器 247

8.4.6 計數(shù)器 247

8.4.7 MapReduce與HBase互操作 247

8.5 RowKey設計 250

8.5.1 HBase值的存儲與讀取的特點 250

8.5.2 HBase值存儲特點引發(fā)的問題 250

8.5.3 RowKey設計遵循的原則 251

8.6 HBase的高性能設計:使用InfiniBand的RDMA 253

8.6.1 設計 254

8.6.2 優(yōu)勢 254

8.7 小結 255

第9章 初識Hive 256

 9.1 Hive基礎知識 257

9.1.1 Hive的存儲結構 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ù)類型轉換 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 小結 318

附錄 《Hadoop集群程序設計與開發(fā)》配套實驗課程方案簡介 319

 


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號