《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
中文版PremierePro CS6完全自学教程 本书特色 这是一本精心设计的Premiere学习教程,图书结合平常学习、工作的需求,精心挑选案例,结合应用,力...
《朱熹(中华先贤人物故事汇)》内容简介:朱熹,中国南宋时期理学家、思想家、哲学家、教育家、诗人。他是“二程”(程颢、程颐)
本书从ExtJS实现的基本功能开始讲解RIAWeb开发,详细讲解ExtJS的基本功能、常用的表单、面板和布局、常见的工具类与函数,以及Ex
《助推:快与慢》内容简介:行为经济学的政策观强调对社会成员的社会偏好的激发,而不是完全依赖物质奖惩。行为经济学家并不否认理
《阿里铁军销售法》内容简介:如何用一个小动作引发客户兴趣? 客户不愿意签,怎么让他回心转意? 如何抓住最佳成交时机? 优质客户
Userexperiencedesignteamsoftensufferfromadecentralized,blankcanvasapproachtocrea...
《乡土中国》内容简介:《乡土中国》是费孝通在西南联大和云南大学讲授“乡村社会学”的讲稿,它尝试回答了“作为中国基层社会的乡
本书是朱利安•阿桑奇目前为止唯一的一部著作,甚至可称为“半部自传”。它是一部见证互联网改变人类历史的伟大纪实文学作品,讲述
《触动人心的手机端页面设计》内容简介:《触动人心的手机端页面设计》是一本结合目前手机端页面潮流的设计书,除了详细讲述手机端
《中国政党学说文献汇编(第三卷)》内容简介:第三卷收集的是1930—1949年间中国政党理论的文献资料。以编者查阅的国内报刊篇章、
数据库系统工程师考试大纲 本书特色 数据库系统工程师是计算机技术与软件专业技术资格(水平)考试“信息系统”类的中级资格,于2020年审定通过并于2021年使用。...
本书系统地介绍了近年来国内外人机界面的最新发展与成果,全书共分6部分,14章。第1部分为概述,介绍了人机界面的定义、起源、发
本书涵盖了现代微处理器编译器的设计和实现方面的所有高级主题。本书首先介绍编译器的结构、符号表管理、中间代码结构、运行时支
《设计思维:整合创新、用户体验与品牌价值》是由30位行业专家共同撰写而成的,主要分三部分:为创新、品牌建设而做的设计,一种新
本书介绍了如何使用Web标准技术来为iPhone和iPad制作Web应用。书中利用最前沿的Web和移动技术,演示了如何使用HTML5来完成繁重的
喧嚣商战,细数李彦宏与新浪、网易、搜狐、淘宝掌门人的恩怨纠葛!风云起伏,独创划分十年百度的“三大帝国”断代史!独门秘籍,
Java语言程序设计:21世纪高职高专新概念教材 内容简介 本书共11章,主要内容包括:面向对象程序设计的基本概念、原理、技术方法和Jave语言的基础知识,常用...
《当我们变成一堆数字》讲述了:每一天,我们的身后都拖着一条由个人信息组成的长长的“尾巴”,这只是因为我们生活在一个现代化
DjangoandTurbogearsarethetwoleadingMVCframeworksforPythonprogrammerstoday.MVCfra...
五笔字型短训教程 内容简介 本书从*基本的指法开始讲起,全面、系统地介绍了86版五笔字型输入法、98版五笔字型输入法。本书是一本指导读者学习五笔字型输入法的培训...