《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
云计算是一个新兴的术语,很多技术还处在起步阶段。云计算涉及的范围非常广,包括分布式计算、并行计算、效用计算等。《分布式系
《我在清华等你来(第四辑)》内容简介:百年清华,莘莘学子心向往之!清华学生无疑是同龄人中的佼佼者,鲜花绽放的背后是长期的积
Pro/Engineer Wildfire2.0特征与三维实体建模 内容简介 本书分为Pro/Engineer Wildfire 2.0概览、草图绘图、基准特征...
《Redis4.xCookbook(中文版)》内容简介:Redis是一个十分热门的内存数据库,号称后端的“瑞士军刀”,它拥有诸多优良特性,已经被
《鸽群中的猫》内容简介:著名女子学院“芳草地”迎来了新的学期。新入学的女孩里有一位谢斯塔公主,她的表哥刚刚在一场政变中被害
ThisisthestoryofLinusTorvalds,themaverickFinnishcomputergeniuswhoinventedthepowe...
《人才画像:让招聘准确率倍增》内容简介:在本书中,我们将咨询项目中常用的素质做成“素质菜单”,针对素质项的所有提问给出“精
本书是国外比较成功的一本讨论程序设计语言的教科书,已在一些学校使用多年。书的主要内容包括:引论、命令式程序设计、面向对象
《自动网络管理系统》对自动网络管理进行了全面介绍,全书包括三个部分。第一部分对网络管理的问题进行定义,并给出重要的背景知
推荐系统开发实战 本书特色 本书是一本关于推荐系统从入门到进阶的读物,采用“理论 实践”的形式展开,不仅对各种推荐算法进行了介绍,还对算...
计算机基础及MS Office应用-全国计算机等级考试一级教程-(2015年版) 本书特色 本书是根据教育部考试中心制定的《全国计算机等级一级ms office...
《CSSWeb设计高级教程(第2版)》注重Web开发的实践,每章以现实中的Web站点为例,提供了很多容易理解的CSS技巧和技术,例如,如何
数据驱动的金融时间序列预测模型研究 本书特色 以非线性动力学的观点看来,现代金融理论中金融系统的不确定性恰恰源于其自身就是一个受多种因素综合影响的具有开放性质的...
Asadeveloper,you’veprobablyheardthatfunctionalprogrammingtechniqueshelpmanagethe...
TheIBMStyleGuidedistillsIBMwisdomfordevelopingsuperiorcontent:informationthatisc...
《深度学习在动态媒体中的应用与实践》内容简介:本书是一本深度学习的基础入门读物,对深度学习的基本理论进行了介绍,主要以Ubun
轻松学习C程序设计-揭开计算机与程序设计的奥秘 本书特色 尽自己*大能力写一本比较轻,松颖,清晰,透彻,有价值的计算机科学入门是我的夙愿;把真正掌握计算奥秘和学...
Asmuchashelongsforpeace,KingEdwinisrepeatedlyforcedintowaragainsttreacherousneig...
Ifyouwanttobuildyoursitesfrontendwiththesingle-pageapplication(SPA)model,thishan...
《中国佛教信仰与生活史》内容简介:本书从制度史、社会史、文化史的视角,以忏法、素食、慈善、讲经、放生、菩萨信仰、名山信仰等