注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络家庭与办公软件Hadoop集群程序设计与开发

Hadoop集群程序设计与开发

Hadoop集群程序设计与开发

定 价:¥59.80

作 者: 王宏志,李春静 著
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787115483041 出版时间: 2018-08-01 包装: 平装
开本: 16开 页数: 字数:  

内容简介

  本书主要内容包括:第 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

 


本目录推荐