《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地介绍了Hadoop框架、编写和运行Hadoop数据处理程序所需的实践技能及Hadoop之外更大的生态系统。
《Hadoop实战》适合需要处理大量离线数据的云计算程序员、架构师和项目经理阅读参考。
第一部分 Hadoop——一种分布式编程框架
第1 章 Hadoop简介2
1.1 为什么写《Hadoop 实战》3
1.2 什么是Hadoop 3
1.3 了解分布式系统和Hadoop 4
1.4 比较SQL 数据库和Hadoop5
1.5 理解MapReduce6
1.5.1 动手扩展一个简单程序7
1.5.2 相同程序在MapReduce中的扩展9
1.6 用Hadoop统计单词——运行第一个程序11
1.7 Hadoop历史15
1.8 小结16
1.9 资源16
第2 章 初识Hadoop 17
2.1 Hadoop 的构造模块17
2.1.1 NameNode 17
2.1.2 DataNode 18
2.1.3 Secondary NameNode 19
2.1.4 JobTracker19
2.1.5 TaskTracker19
2.2 为Hadoop 集群安装SSH21
2.2.1 定义一个公共账号21
2.2.2 验证SSH安装21
2.2.3 生成SSH密钥对21
2.2.4 将公钥分布并登录验证22
2.3 运行Hadoop 22
2.3.1 本地(单机)模式23
2.3.2 伪分布模式24
2.3.3 全分布模式25
2.4 基于Web 的集群用户界面28
2.5 小结30
第3 章 Hadoop组件31
3.1 HDFS 文件操作31
3.1.1 基本文件命令32
3.1.2 编程读写HDFS35
3.2 剖析MapReduce 程序37
3.2.1 Hadoop数据类型39
3.2.2 Mapper40
3.2.3 Reducer41
3.2.4 Partitioner:重定向Mapper输出41
3.2.5 Combiner:本地reduce 43
3.2.6 预定义mapper和Reducer类的单词计数43
3.3 读和写43
3.3.1 InputFormat 44
3.3.2 OutputFormat49
3.4 小结50
第二部分 实战
第4 章 编写MapReduce基础程序52
4.1 获得专利数据集52
4.1.1 专利引用数据53
4.1.2 专利描述数据54
4.2 构建MapReduce 程序的基础模板55
4.3 计数60
4.4 适应Hadoop API 的改变64
4.5 Hadoop 的Streaming 67
4.5.1 通过Unix命令使用Streaming 68
4.5.2 通过脚本使用Streaming 69
4.5.3 用Streaming处理键/值对 72
4.5.4 通过Aggregate包使用Streaming75
4.6 使用combiner 提升性能 80
4.7 温故知新83
4.8 小结84
4.9 更多资源84
第5 章 高阶MapReduce 85
5.1 链接MapReduce 作业 85
5.1.1 顺序链接MapReduce作业 85
5.1.2 具有复杂依赖的MapReduce链接86
5.1.3 预处理和后处理阶段的链接86
5.2 联结不同来源的数据 89
5.2.1 Reduce侧的联结 90
5.2.2 基于DistributedCache的复制联结 98
5.2.3 半联结:map侧过滤后在reduce侧联结101
5.3 创建一个Bloom filter 102
5.3.1 Bloom filter做了什么102
5.3.2 实现一个Bloom filter 104
5.3.3 Hadoop 0.20 以上版本的Bloom filter 110
5.4 温故知新 110
5.5 小结 111
5.6 更多资源 112
第6 章 编程实践 113
6.1 开发MapReduce 程序 113
6.1.1 本地模式 114
6.1.2 伪分布模式 118
6.2 生产集群上的监视和调试123
6.2.1 计数器123
6.2.2 跳过坏记录125
6.2.3 用IsolationRunner重新运行出错的任务128
6.3 性能调优 129
6.3.1 通过combiner来减少网络流量129
6.3.2 减少输入数据量129
6.3.3 使用压缩129
6.3.4 重用JVM 132
6.3.5 根据猜测执行来运行132
6.3.6 代码重构与算法重写133
6.4 小结134
第7 章 细则手册135
7.1 向任务传递作业定制的参数 135
7.2 探查任务特定信息137
7.3 划分为多个输出文件138
7.4 以数据库作为输入输出143
7.5 保持输出的顺序145
7.6 小结 146
第8 章 管理Hadoop147
8.1 为实际应用设置特定参数值 147
8.2 系统体检149
8.3 权限设置151
8.4 配额管理151
8.5 启用回收站152
8.6 删减DataNode 152
8.7 增加DataNode 153
8.8 管理NameNode 和SNN 153
8.9 恢复失效的NameNode 155
8.10 感知网络布局和机架的设计156
8.11 多用户作业的调度157
8.11.1 多个JobTracker 158
8.11.2 公平调度器158
8.12 小结 160
第三部分 Hadoop也疯狂
第9 章 在云上运行Hadoop 162
9.1 Amazon Web Services 简介162
9.2 安装AWS163
9.2.1 获得AWS身份认证凭据164
9.2.2 获得命令行工具166
9.2.3 准备SSH密钥对168
9.3 在EC2 上安装Hadoop169
9.3.1 配置安全参数169
9.3.2 配置集群类型169
9.4 在EC2 上运行MapReduce 程序171
9.4.1 将代码转移到Hadoop集群上171
9.4.2 访问Hadoop集群上的数据172
9.5 清空和关闭EC2 实例175
9.6 Amazon Elastic MapReduce 和其他AWS 服务176
9.6.1 Amazon Elastic MapReduce 176
9.6.2 AWS导入/导出177
9.7 小结177
第10 章 用Pig编程178
10.1 像Pig 一样思考178
10.1.1 数据流语言179
10.1.2 数据类型179
10.1.3 用户定义函数179
10.2 安装Pig 179
10.3 运行Pig 180
10.4 通过Grunt 学习Pig Latin182
10.5 谈谈Pig Latin 186
10.5.1 数据类型和schema186
10.5.2 表达式和函数187
10.5.3 关系型运算符189
10.5.4 执行优化196
10.6 用户定义函数196
10.6.1 使用UDF 196
10.6.2 编写UDF 197
10.7 脚本199
10.7.1 注释199
10.7.2 参数替换200
10.7.3 多查询执行201
10.8 Pig 实战——计算相似专利的例子201
10.9 小结206
第11 章 Hive及Hadoop群207
11.1 Hive 207
11.1.1 安装与配置Hive 208
11.1.2 查询的示例210
11.1.3 深入HiveQL 213
11.1.4 Hive小结221
11.2 其他Hadoop 相关的部分221
11.2.1 HBase 221
11.2.2 ZooKeeper 221
11.2.3 Cascading 221
11.2.4 Cloudera 222
11.2.5 Katta 222
11.2.6 CloudBase 222
11.2.7 Aster Data和Greenplum 222
11.2.8 Hama和Mahout 223
11.2.9 search-hadoop.com 223
11.3 小结223
第12 章 案例研究224
12.1 转换《纽约时报》1100 万个库存图片文档224
12.2 挖掘中国移动的数据225
12.3 在StumbleUpon 推荐最佳网站229
12.3.1 分布式StumbleUpon 的开端230
12.3.2 HBase 和StumbleUpon 230
12.3.3 StumbleUpon 上的更多Hadoop 应用236
12.4 搭建面向企业查询的分析系统——IBM的ES2 项目238
12.4.1 ES2 系统结构240
12.4.2 ES2 爬虫241
12.4.3 ES2 分析242
12.4.4 小结249
12.4.5 参考文献250
附录A HDFS文件命令251
电脑实用技巧大全 内容简介 本书针对电脑新手的学习需求,从零起步,详细讲解了新手学习电脑需要熟知和掌握的大量实用操作技巧。全书共分为三大篇,其中:**篇(1~2...
《堆栈的艺术:Photoshop风光摄影后期叠加处理技法》内容简介:本书介绍了堆栈的基本概念及原理,借助大量的实际案例,讲解各种堆栈
张量数据的特征提取与分类 本书特色 《张量数据的特征提取与分类》的主要研究内容是在模式识别应用领域中,提出新的基于张量数据的特征提取和分类算法,并且对这些张量型...
Series60智能手机开发平台正掀起新一轮的移动服务浪潮。超过60%的手机生产商获得了Series60平台的授权。Series60移动应用开发平
网络工程师考前串讲与模拟试卷 内容简介 本书紧扣新版考试大纲,以“考前串讲” “模拟试卷” “真题分析”的组织形式对网络工程师考试考生冲刺阶段的复习做出了指导。...
本书主要通过了解,学习,使用Arduino开源模块,让读者在实战过程中学习并掌握基于AVR8位单片机的项目开发技巧。在2011年举行的G
Describesthetechnologicalsolutionsandstandardswhichwillenablethemigrationofvoice...
UG NX4实例教程 本书特色 本书以UG NX4为蓝本,重点介绍有关CAD的各部分内容,包括实体建模、装配设计、工程制图和曲面建模等。第1~4章介绍了软件的基...
《国际平面设计基础教程:GRIDS网格设计》的目的是向读者介绍平面设计中网格的基本运用原则,就像当代设计师们所实践的那样。虽然
小田圭二日本Oracle株式会社咨询部门经理。在解决性能问题方面有着丰富的经验,著有《图解OS、存储、网络:DB的内部机制》(絵で
《媒商十堂课》内容简介:世界上只有2%的人意识到,他们的一言一行,一颦一笑,都在作为重要的信息构建着独一无二的“个人”品牌。
《MATLAB图像处理超级学习手册》内容简介:本书以MATLAB R2013a版本的功能叙述为主,由浅入深全面地讲解了MATLAB软件在图像处理方面
本书介绍一种把WindowsGUI应用程序移植到Linux的方法——API模拟方法。书中介绍了这种方法的设计思想,以及具体的实现过程。同时
本书紧紧围绕ASP.NET2.0技术精髓展开深入讲解,全书分为6个部分,共18章。第1部分介绍基础知识,包括ASP.NET2.0概述、VisualStud
《水彩星享绘》内容简介:让我们一起踏上去往水彩世界的冒险之旅吧!本书作者不仅在本书中用画笔描绘出生活的美好,还将自己多年的
《中山风雨话沧桑:1937~1947年河北省定(北)县党的建设及革命斗争追忆》内容简介:这是一部百岁老人刻骨铭心的回忆。它从独特的
全套上、下两册,浓缩2006年电脑报精华文章。附录包含70余篇简明IT应用指南,覆盖软件、硬盘、数码、网络四大领域。配赠权威实用
《安得堂咏草》内容简介:《安得堂咏草》为施小炜诗集,共收录其所创作的旧体诗词一百三十八首,分为悔其集、面壁斋集篇、暗疏乡集
《唐宋历史评论(第三辑)》内容简介:《唐宋历史评论》是由中国人民大学历史学院主办的以唐宋史研究为主的专业历史刊物,以关于唐
《故乡情·北江谣》内容简介:《故乡情·北江谣》一书的内容分为上下两篇,作者林永泽有着深厚的文字功底,擅长运用四时之景的变化