《Hadoop应用开发实战详解 修订版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:万川梅,谢正兰编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2014
  • ISBN:9787113186258
  • 页数:397 页
图书介绍:本书由浅入深,全面、系统地介绍了Hadoop这一高性能处理海量数据集的理想工具。本书的内容主要包括hdfs、mapreduce、 hive、hbase、mahout、pig、zookeeper、avro、chukwa 等与hadoop相关的子项目,各个知识点都精心设计了大量经典的小案例,实战型强,可操作性强。

第1篇 Hadoop技术篇 2

第1章 初识Hadoop 2

1.1 Hadoop简介 2

1.1.1 Hadoop的起源 2

1.1.2 什么是Hadoop 3

1.1.3 Hadoop的核心技术是Google核心技术的开源实现 4

1.1.4 Hadoop的功能与优点 5

1.1.5 Hadoop的应用现状和发展趋势 6

1.2 Hadoop的体系结构 11

1.2.1 HDFS的体系结构 12

1.2.2 MapReduce的体系结构 19

1.3 Hadoop与分布式开发 21

1.4 Hadoop的数据管理 23

1.4.1 HDFS的数据管理 23

1.4.2 HBase的数据管理 23

1.4.3 Hive的数据管理 24

1.5 思考与总结 25

第2章 Hadoop的安装和配置 27

2.1 在Windows下安装与配置Hadoop 27

2.1.1 JDK的安装 27

2.1.2 Cygwin的安装 30

2.1.3 Hadoop的安装 36

2.2 在Linux下安装与配置Hadoop 38

2.2.1 Ubuntu的安装 38

2.2.2 JDK的安装 41

2.2.3 Hadoop的安装 41

2.3 Hadoop的执行实例 43

2.3.1 运行Hadoop 44

2.3.2 运行wordcount.java程序 44

2.4 Hadoop Eclipse简介和使用 45

2.4.1 Eclipse插件介绍 45

2.4.2 Eclipse插件开发配置 45

2.4.3 在Eclipse下运行WordCount程序 49

2.5 Hadoop的集群和优化 56

2.5.1 Hadoop的性能优化 57

2.5.2 Hadoop配置机架感知信息 58

2.6 思考与总结 59

第3章 HDFS海量存储 60

3.1 开源的GFS——HDFS 60

3.1.1 HDFS简介 60

3.1.2 HDFS的体系结构 63

3.1.3 HDFS的保障可靠性措施 64

3.2 HDFS的常用操作 67

3.2.1 HDFS下的文件操作 67

3.2.2 管理与更新 74

3.2.3 HDFS API详解 76

3.2.4 HDFS的读/写数据流 88

3.3 用HDFS存储海量的视频数据 91

3.3.1 场景分析 91

3.3.2 设计实现 91

3.4 思考与总结 93

第4章 初识MapReduce 94

4.1 MapReduce简介 94

4.1.1 MapReduce要解决什么问题 94

4.1.2 MapReduce的理论基础 95

4.1.3 MapReduce的编程模式 97

4.2 MapReduce的集群行为 98

4.3 Map/Reduce框架 100

4.4 样例分析:单词计数 100

4.4.1 WordCount实例的运行过程 100

4.4.2 WordCount的源码分析和程序处理过程 103

4.4.3 MapReduce常用类及其接口 106

4.5 实例:倒排索引 109

4.5.1 倒排索引的分析和设计 109

4.5.2 倒排索引完整源码 112

4.5.3 运行代码结果 116

4.6 MapReduce在日志分析中数据去重案例 117

4.6.1 什么是数据去重 117

4.6.2 设计思路 118

4.6.3 程序代码 118

4.6.4 代码运行结果 120

4.7 数据排序实例 122

4.7.1 实例描述 122

4.7.2 设计思路 123

4.7.3 程序代码 123

4.8 思考与总结 126

第5章 分布式开源数据库HBase 127

5.1 HBase简介 127

5.1.1 HBase逻辑视图 127

5.1.2 HBase物理存储 129

5.1.3 子表Region服务器 130

5.1.4 Hmaster主服务器 132

5.1.5 元数据表 132

5.2 HBase的安装配置 133

5.2.1 HBase单机模式 133

5.2.2 HBase伪分布模式 135

5.2.3 HBase完全分布模式 136

5.3 学生成绩表实例 140

5.3.1 Shell的基本操作 141

5.3.2 代码实现 143

5.3.3 关于中文的处理 145

5.3.4 常用HBase的Shell操作 149

5.4 思考与总结 153

第6章 MapReduce进阶 154

6.1 API的配置 154

6.1.1 一个简单的配置文件 155

6.1.2 合并多个源文件 156

6.1.3 可变的扩展 157

6.2 配置开发环境 157

6.2.1 配置文件设置 157

6.2.2 设置用户标识 159

6.3 复合键值对的使用 159

6.3.1 小的键值对如何合并成大的键值对 159

6.3.2 巧用复合键让系统完成排序 160

6.4 用户定制数据类型 164

6.4.1 内置数据类型 164

6.4.2 用户自定义数据类型 164

6.5 用户定制输入/输出格式 166

6.5.1 内置数据的输入格式 167

6.5.2 用户定制数据输入格式与RecordReader 168

6.5.3 Hadoop内置的数据输出格式 172

6.5.4 Hadoop内置的数据输出格式与RecordWriter 172

6.6 用户定制Partitioner和Combiner 173

6.7 组合式的MapReduce作业 176

6.7.1 MapReduce作业运行机制 176

6.7.2 组合式MapReduce计算作业 178

6.8 DataJoin连接多数据源 183

6.9 思考与总结 187

第7章 Hive数据仓库 188

7.1 Hive简介 188

7.2 Hive安装与配置 189

7.3 Hive的服务 191

7.3.1 Hive shell 191

7.3.2 JDBC/ODBC 192

7.3.3 Thrift服务 192

7.3.4 Web接口 193

7.3.5 元数据服务 193

7.4 HiveQL查询语言 193

7.5 Hive实例 202

7.5.1 UDF编程实例 202

7.5.2 UDAF编程实例 204

7.5.3 Hive的日志数据统计实战 206

7.6 思考与总结 211

第8章 Pig开发应用 212

8.1 Pig简介 212

8.2 Pig的安装与配置 213

8.3 Pig的使用 215

8.3.1 Pig的MapReduce模式 215

8.3.2 Pig的运行方式 216

8.4 通过Grunt学习Pig Latin 219

8.4.1 Pig的数据模型 220

8.4.2 运算符 221

8.4.3 常用操作 222

8.4.4 各种SQL在Pig中的实现 229

8.4.5 Pig Latin实现 233

8.5 Pig使用的案例 235

8.6 思考与总结 235

第9章 Chukwa数据收集系统 236

9.1 Chukwa简介 236

9.1.1 Chukwa是什么 236

9.1.2 Chukwa主要解决什么问题 240

9.2 Chukwa的安装配置 240

9.2.1 Chukwa的安装 240

9.2.2 Chukwa的配置 242

9.2.3 Chukwa的启动 245

9.3 Chukwa的基本命令 248

9.3.1 Chukwa端的命令 248

9.3.2 Agent端的命令 249

9.4 Chukwa在数据收集处理方面的运用 251

9.4.1 数据生成 251

9.4.2 数据收集 251

9.4.3 数据处理 252

9.4.4 数据析取 252

9.4.5 数据稀释 253

9.4.6 数据显示 253

9.5 思考与总结 253

第10章 ZooKeeper开发应用 254

10.1 ZooKeeper简介 254

10.1.1 ZooKeeper的设计目标 254

10.1.2 ZooKeeper主要解决什么问题 256

10.1.3 ZooKeeper的基本概念和工作原理 257

10.2 ZooKeeper的安装配置 260

10.2.1 单机模式 261

10.2.2 启动并测试ZooKeeper 262

10.2.3 集群模式 264

10.3 ZooKeeper提供的接口 267

10.4 ZooKeeper事件 270

10.5 ZooKeeper实例 271

10.5.1 实例1:一个简单的应用——分布式互斥锁 271

10.5.2 实例2:进程调度系统 276

10.6 思考与总结 283

第2篇 Hadoop管理和容错篇 286

第11章 Hadoop管理 286

11.1 Hadoop权限管理 286

11.2 HDFS文件系统管理 292

11.3 Hadoop维护与管理 298

11.4 Hadoop常见问题及解决办法 300

11.5 思考与总结 310

第12章 Hadoop容错 311

12.1 Hadoop的可靠性 311

12.1.1 HDFS中的NameNode单点失效解决方案 311

12.1.2 HDFS数据块副本机制 313

12.1.3 HDFS心跳机制 319

12.1.4 HDFS负载均衡 320

12.1.5 MapReduce容错 321

12.2 Hadoop的SecondayNameNode机制 322

12.2.1 磁盘镜像与日志文件 322

12.2.2 SecondaryNameNode更新镜像的流程 323

12.3 Avatar机制 325

12.3.1 Avatar机制简介 325

12.3.2 Avatars部署实战 326

12.4 Hadoop_HBase容错 331

12.5 思考与总结 333

第3篇 Hadoop实战篇 336

第13章 综合实战1:Hadoop中的数据库访问 336

13.1 DBInputFormat类访问数据库 336

13.1.1 在DBInputFormat类中包含的内置类 336

13.1.2 使用DBInputFormat读取数据库表中的记录 337

13.1.3 使用示例 337

13.2 使用DBOutputFormat向数据库中写记录 340

13.3 思考与总结 343

第14章 综合实战2:一个简单的分布式的Grep 344

14.1 分析与设计 344

14.2 实现代码 345

14.3 运行程序 346

14.4 思考与总结 346

第15章 综合实战3:打造一个搜索引擎 348

15.1 搜索引擎工作原理 348

15.2 网页搜集与信息提取 350

15.2.1 设计的主要思想 350

15.2.2 系统设计目标 351

15.3 网页信息的提取与存储 352

15.4 MapReduce的预处理 353

15.4.1 第一步:源数据过滤 353

15.4.2 第二步:生成倒排文件 355

15.4.3 第三步:建立二级索引 362

15.5 建立Web信息查询服务 365

15.6 思考与总结 366

第16章 综合实战4:移动通信信令监测与查询 367

16.1 分析与设计 367

16.1.1 CDR数据文件的检测与索引创建任务调度 369

16.1.2 从HDFS读取数据并创建索引 370

16.1.3 查询CDR信息 371

16.2 代码实现 371

16.2.1 CDR文件检测和索引创建任务程序 371

16.2.2 读取CDR数据和索引创建处理 375

16.2.3 CDR查询 383

16.3 思考与总结 384

附录A Hadoop命令大全 385

附录B HDFS命令大全 392