《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
算量就这么简单-剪力墙实例软件算量 本书特色 用软件算量*怕的是什么 不知道软件算得对不对,这是很多人不敢使用软件的真正原因。阎俊爱主编的这本《算量就这么简单-...
《自己动手制作软体机器人》内容简介:软体机器人技术是一个新兴的领域,它以新的方式接近机器人,使机器人能够在非结构化或不稳定
运动人体行为语义计算技术 内容简介 《运动人体行为语义计算技术》主要介绍了运动人体行为的语义计算方法,包括:基于Beowulf机群中改进的粒子滤波的3D人体运动...
《Python编程:从入门到实践(第2版)》内容简介:本书是针对所有层次Python读者而作的Python入门书。全书分两部分:第一部分介绍用
《JavaWeb编程从入门到实践》内容简介:JavaWeb开发是目前最流行的网络开发技术之一。《JavaWeb编程从入门到实践》由浅入深,结合
写这本书之前,作者一直在摸索一种最有利于入门者学编程的方法,并应用到教学当中。经过两年的教学实践,他确信他的方法是有效的
書裝幀,就如同女媧造人最後吹出的那口氣,賦予一本書新的生命力,更召喚書中內在的靈魂,成為書籍最初的表情,為作品自身說話。
《李阳冰篆书三坟记》内容简介:《三坟记》由唐李季卿撰文,李阳冰书,为其篆书代表作。立于唐大历二年(767),碑文阴阳两面,二十
《数据结构与算法JavaScript描述》内容简介:通过本书的学习,读者将能自如地选择最合适的数据结构与算法,并在JavaScript开发中懂
《支撑处理器的技术:永无止境地追求速度的世界》用通俗易懂的语言和大量的插图,介绍了处理器的历史、基本结构、实现原理等,还对
《讲述中国历史》内容简介:这是一部美国历史学家魏斐德从全球范围来解析中国历史的著作,堪称其40年中国史研究集大成之作!内容涵
《PHP核心技术与最佳实践》是一本致力于为希望成为中高级PHP程序员的读者提供高效而有针对性指导的经典著作。系统归纳和深刻解读
《人脸识别与美颜算法实战》内容简介:本书从实战出发,介绍了大约60多个案例,脉络清晰,没有太多枯燥的理论讲解,而是以一位资深
《LED照明产品质量认证与检测方法》内容简介:本书全面系统地介绍了LED照明产品的国内外最新标准和技术法规、LED生产质量工艺、LED
创意城市:如何打造都市创意生活圈,ISBN:9787302210047,作者:(英)兰德利著,杨幼兰译目录 中文版序《创意城市》的缘起与未
《故宫里的博物学:给孩子的清宫鸟谱》内容简介:本书是专为孩子打造的中华文化通识读本,以清代乾隆时期的皇家动物图鉴《清宫鸟谱
《孩子们喜爱的国宝故事》内容简介:本书是继《孩子们喜爱的民间故事》《孩子们喜爱的民俗故事》《孩子们喜爱的诗词故事》,毛晓青
《少年读西游》内容简介:这是一本为青少年解读《西游记》的书。著名学者李天飞专注《西游记》研究多年,积累参考上千种文献,然而
Adobe Photoshop CS6中文版经典教程-(彩色版)-(附光盘) 本书特色 《adobe photoshop cs6中文版经典教程(附光盘彩色版)》...
《数据之美》内容简介:这是一本教我们如何制作完美可视化图表,挖掘大数据背后意义的书。作者认为,可视化是一种媒介,向我们揭示