《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
《简笔画15分钟速成!卡通形象卷》内容简介:《幸福手绘三部曲简笔画15分钟速成!卡通形象卷》是一本纯手工绘制的卡通形象图集,作
jaybryant:横跨两个不同的领域:写作和编程。在过去的20年中,他一直致力于帮助ge(通用电气)、motorola(摩托罗拉)、dell(戴
《北京礼俗文化》内容简介:北京礼俗文化中的诸多礼仪习俗,以及人们所说的“北京人的礼数大”,都与中华历史的发展脉络密不可分,
《我们的第一个十年》内容简介:从校园到职场,抑或到政坛、到商海,曾经朝夕相处的同窗走出了不同的人生轨迹。这里有在基层默默奋
MarkRichards是一位造诣颇深的作者和会议演讲者,他是金融服务行业的实战型SOA和企业体系结构师。除了发表大量文章之外,他还是《
本书将用于帮助指导Javaweb开发人员的日常任务,提供典型的web相关问题的快速解决方案。本书集中介绍了如何用Java初始化某些与we
Thisisthefourtheditionofthemarket-leadingreferenceforhumanfactorsandergonomicsre...
地理信息系统软件工程的原理与方法 内容简介 本书系统地阐述了地理信息系统软件工程这一领域内的基本概念、原理与方法。主要内容有:GIS软件工程概述、可行性分析、系...
《河北上市公司财务发展报告(2016)》内容简介:本书以河北上市公司作为具体研究对象,从公司筹资、投资、资金运营、业绩及履行社
Offeringabroad-basedreviewofthefactorsaffectingthedesign,assemblyandbehaviourofb...
《从大数据到智能制造》内容简介:工业4.0已上升为德国的民族战略;日本软银集团创始人孙正义试图以机器人作为工业4.0的切入点;英
《Python安全攻防》内容简介:随着近几年互联网的发展,Python在各行各业发挥着举足轻重的作用。除应用在科学计算、大数据处理等人
《工业互联网推动中小企业包容性增长的内在逻辑》内容简介:本书紧扣“把握构建新发展格局的时代使命,立足中小企业生力军主体,依
《XML完全探索》是完全根据读者的需要而设计的,书中有大量实际的XML场景。是一本尽可能深入地阐述XML的书籍,与其他XML书籍不同
《推开红酒的门》内容简介:葡萄酒的世界很有趣,但是初学者往往遇上麻烦:在餐厅,看着酒单上密密麻麻的字一脸懵;面对货架上琳琅
《C语言学习指南:从规范编程到专业级开发》内容简介:本书分为五部分,通过大量简明易懂的范例由浅入深地演示C语言中的概念和编程
AhoandUllmanhavecreatedaCversionoftheirgroundbreakingtext.Asinthattext,thisbookc...
哈佛大学法学院教授,哈佛大学伯克曼“互联网与社会”中心主任。美国马萨诸塞州安赫斯特大学学士(美国研究)、哈佛大学J.D.和美
模型制作基础手册 内容简介 本书可以作为建筑、景观建筑、室内设计以及其他相关专业的学生所使用的初级读物。其他一些人,例如,戏剧学学生、历史学家和考古学家等,也会...
《传播研究的心理学传统》内容简介:本书是一项基础性的学术史研究,旨在揭示传播学学术传统的心理学源流。以传播学和心理学的学科