《典型Hadoop云计算》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:赵书兰编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121188077
  • 页数:476 页
图书介绍:本书系统地阐述了当今IT业界最热门的话题——云计算,全书共分为9章。第1章介绍云计算背景与Hadoop;第2章介绍Hadoop的安装与配置;第3~8章系统、详细地介绍了Hadoop的子项目及相关项目的基本概念和实例分析,主要包括Hadoop的MapReduce、ZooKeeper、Mahout、Avro、Chukwa、HBase、Hive、Pig及Cassandra等项目;第9章总结了Hadoop云计算的综合实例。

第1章 云计算背景与Hadoop 1

1.1 云计算概述 1

1.1.1 云计算的定义 1

1.1.2 云计算的特点 2

1.1.3 云计算的发展史 3

1.1.4 云计算的发展趋势 5

1.1.5 云计算的基本特征 6

1.2 云计算的优缺点 7

1.3 云计算存在的问题 7

1.4 Hadoop使用 8

1.4.1 国外Hadoop使用 8

1.4.2 国内Hadoop使用 10

1.5 Hadoop概述 11

1.5.1 Hadoop的起源及简介 11

1.5.2 Hadoop的历史 12

1.5.3 Hadoop的功能与作用 13

1.5.4 Hadoop的优势 14

1.5.5 Hadoop的现状与趋势 14

1.6 Hadoop的总体结构与模块简介 15

1.7 Hadoop的数据管理 18

1.7.1 HDFS的数据管理 18

1.7.2 HBase的数据管理 19

1.7.3 Hive的数据管理 22

第2章 Hadoop的安装与配置 25

2.1 在Linux上安装Hadoop 25

2.1.1 安装单节点Hadoop 25

2.1.2 在Linux系统上安装多节点Hadoop 30

2.2 Windows安装Hadoop 37

2.2.1 单机模式下安装Hadoop 38

2.2.2 分布模式下安装Hadoop 41

2.3 Hadoop的组件 43

2.3.1 基本文件命令 44

2.3.2 剖析MapReduce 47

2.4 Hadoop的InputFormat与OutputFormat 70

2.4.1 InputFormat 70

2.4.2 OutputFormat 74

2.5 Hadoop的常用命令 81

2.5.1 常规选项 81

2.5.2 HDFS Shell命令 81

2.5.3 用户命令 87

2.5.4 管理命令 93

2.6 Hadoop的I/O操作 95

2.6.1 I/O操作数据检查 96

2.6.2 压缩数据 98

2.6.3 数据I/O中的序列化操作 100

2.6.4 MapReduce文件类 111

2.7 Hadoop的权限管理 119

2.7.1 概述 119

2.7.2 用户分组管理 120

2.7.3 作业管理 122

2.7.4 提交作业 124

第3章 Hadoop云计算的MapReduce详解 125

3.1 总体结构 125

3.2 MapReduce的工作原理 127

3.3 MapReduce的基础模板 129

3.4 一个气象数据集 134

3.4.1 数据格式 134

3.4.2 使用UNIX工具进行数据分析 135

3.4.3 使用Hadoop进行数据分析 137

3.4.4 新的Java MapReduce API 143

3.4.5 Combiner 145

3.4.6 运行分布式MapReduce作业 147

3.5 MapReduce的应用实例 150

3.5.1 数据去重 150

3.5.2 排序 153

3.5.3 二次排序 156

3.5.4 单表关联 167

3.5.5 多表关联 172

3.6 复合键值对的使用 176

3.6.1 合并键值 177

3.6.2 用复合键排序 178

3.7 定制数据类型及格式 181

3.7.1 定制数据类型 182

3.7.2 定义数据输入格式与RecordReader 183

3.7.3 定制数据输出格式与RecordWriter 187

3.7.4 定制Partitioner 188

3.7.5 定制Combiner 188

3.8 shuffle与排序 190

3.8.1 map端 190

3.8.2 reduce端 192

3.8.3 shuffle过程 193

3.9 组合式MapReduce作业 194

3.9.1 迭代MapReduce计算任务 194

3.9.2 顺序组合式MapReduce作业的执行 194

3.9.3 前、后处理的链接 195

3.9.4 复杂依赖关系的组合式 198

3.10 使用DataJoin包实现Join 199

3.11 参数/数据文件的传递与使用 205

3.11.1 传递全局作业参数 205

3.11.2 查询全局MapReduce作业属性 207

3.11.3 全局数据文件的传递 208

第4章 Hadoop云计算的ZooKeeper详解 210

4.1 ZooKeeper的基本概念 210

4.1.1 ZooKeeper的角色 210

4.1.2 设计目的 211

4.1.3 工作原理 212

4.1.4 工作流程 215

4.1.5 数据模型 217

4.2 ZooKeeper的安装 218

4.2.1 软件及环境要求 218

4.2.2 单机模式 218

4.2.3 集群模式 219

4.2.4 集群伪分布 220

4.2.5 启动并测试ZooKeeper 222

4.3 ZooKeeper的配置 223

4.3.1 Client和ZK集群的连接及session的建立过程 223

4.3.2 关于ACL 225

4.3.3 关于Watcher 226

4.3.4 关于Log文件和snapshot 228

4.4 ZooKeeper的使用 229

4.4.1 ZooKeeper的简单操作 229

4.4.2 ZooKeeper的四字命令 230

4.4.3 ZooKeeper的命令行工具 231

4.4.4 常用接口列表 231

4.4.5 基本操作 233

4.4.6 ZooKeeper API的使用 234

4.5 ZooKeeper的特性 236

4.5.1 ZooKeeper的会话及状态 236

4.5.2 读写性能测试 237

4.5.3 可靠性测试 238

4.6 ZooKeeper的典型应用 239

4.6.1 统一命名服务(Name Service) 239

4.6.2 配置管理(Configuration Management) 239

4.6.3 集群管理(Group Membership) 240

4.6.4 分布式锁 242

4.6.5 共享锁(Locks) 244

4.6.6 队列管理 245

4.7 ZooKeeper实例详解 247

4.8 进程调度系统 253

4.8.1 设计方案 253

4.8.2 设计实现 254

第5章 Hadoop云计算的Mahout详解 262

5.1 Mahout概述 262

5.2 Mahout的安装与配置 263

5.3 Mahout API简介 264

5.4 Mahout的相关算法 266

5.4.1 分类算法 266

5.4.2 聚类算法 268

5.4.3 Slope one算法 271

5.5 应用Mahout建立一个推荐引擎 275

5.5.1 推荐引擎概述 275

5.5.2 推荐引擎的实现代码 276

5.6 运行Naive Bayes分类器 279

5.6.1 生成分类结果的前提准备 279

5.6.2 实现生成分类结果代码 280

5.7 基于Mahout的应用 281

5.7.1 应用构架 282

5.7.2 应用实例 282

第6章 Hadoop云计算的Avro详解 286

6.1 Avro概述 286

6.2 Avro模式 288

6.2.1 Avro模式声明 288

6.2.2 组件化Avro模式 291

6.3 Avro数据 295

6.3.1 数据序列化 295

6.3.2 数据排序顺序 297

6.4 Avro协议 297

6.4.1 Avro协议声明 297

6.4.2 协议传输格式 299

6.5 使用Avro实现继承 301

6.6 使用Avro实现多态性 304

6.7 使用Avro的向后兼容性 308

6.8 Avro的C/C++实现 310

6.9 Avro的Java实现 322

6.10 Avro IDL语言 327

第7章 Hadoop云计算的Chukwa详解 332

7.1 初识Chukwa 332

7.1.1 Chukwa不是什么 333

7.1.2 Chukwa是什么 333

7.1.3 Chukwa流水线数据处理 334

7.2 Chukwa架构 334

7.2.1 adaptors和agents 335

7.2.2 collector与Demux 335

7.2.3 HICC 337

7.2.4 dbadmin 338

7.2.5 数据接口与支持 338

7.3 Chukwa的安装与配置 338

7.3.1 配置要求 339

7.3.2 Chukwa的安装 339

7.3.3 基本命令介绍 342

7.4 Chukwa源代码分析 345

7.4.1 Chukwa的接口、实现类简介 345

7.4.2 启动、处理流程 346

7.5 Chukwa数据类型 351

7.5.1 内部数据处理时序 351

7.5.2 如何支持新的数据类型 351

7.5.3 如何自定义数据处理模块 353

7.6 Chukwa在百度的应用实践 354

7.6.1 需求概述 354

7.6.2 数据生成 355

7.6.3 数据收集 356

7.6.4 简单数据处理 356

7.6.5 数据的析取 357

7.6.6 数据的稀释 358

第8章 Hadoop云计算的其他相关项目 359

8.1 Hadoop的HBase详解 359

8.1.1 数据模型 359

8.1.2 概念视图 359

8.1.3 物理视图 360

8.1.4 系统架构 362

8.1.5 HBase存储架构 363

8.1.6 HBase的安装与配置 363

8.1.7 HBase用户接口 367

8.1.8 HBase加载大数据 371

8.1.9 HBase的宽表与窄表对split的影响 373

8.1.10 HBase Row Lock分析 379

8.1.11 HBase的优缺点 384

8.2 Hadoop的Hive详解 385

8.2.1 Hive结构 385

8.2.2 Hive的数据存储 386

8.2.3 Hive和数据库的异同 387

8.2.4 Hive的安装 388

8.2.5 Hive的QL 390

8.2.6 Hive优化 398

8.2.7 Hive的扩展特性 401

8.2.8 Hive的JDBC接口应用 406

8.2.9 Hive实战 408

8.3 Hadoop的Pig详解 411

8.3.1 Pig安装 412

8.3.2 数据模型 412

8.3.3 用户自定义函数(UDF) 413

8.3.4 Pig的使用 414

8.3.5 Pig Latin编程语言的数据模型 418

8.3.6 各种SQL在Pig中的实现 418

8.3.7 Pig Latin的常用操作 421

8.3.8 Pig Latin实例 425

8.4 Hadoop的Cassandra详解 429

8.4.1 Cassandra的特性与特点 429

8.4.2 Cassandra的体系结构 430

8.4.3 Cassandra的安装与配置 431

8.4.4 Cassandra的客户端 433

8.4.5 Cassandra常用的编程语言 437

8.4.6 Cassandra实例 442

第9章 Hadoop云计算的综合实例 449

9.1 Hadoop云计算在移动通信信令监控与查询方面的综合实例 449

9.1.1 分析与设计 449

9.1.2 实现代码 453

9.2 Hadoop在Last.fm的应用 465

9.2.1 社会音乐史上的概述 465

9.2.2 Hadoop在Last.fm中的应用 465

9.2.3 Track Statistics程序 466

9.2.4 计算不同的听众数 467

9.2.5 统计音频使用总数 469

9.2.6 合并结果 470

参考文献 473