具体描述
《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地介绍了Hadoop框架、编写和运行Hadoop数据处理程序所需的实践技能及Hadoop之外更大的生态系统。
《Hadoop实战》适合需要处理大量离线数据的云计算程序员、架构师和项目经理阅读参考。
作者简介
Chuck Lam 目前建立了一个名为RollCall的移动社交网络公司,让活跃的个体用户拥有了一个社交助理。他以前曾是RockYou的高级技术组长,开发了社交应用 程序和数据处理基础架构,能够支撑上亿的用户。在斯坦福大学攻读博士的时候,Chuck就对大数据产生了兴趣。他的论文“Computational Data Acquisition”首创了可用于机器学习的数据采集方法,吸纳了来自开源软件和网络游戏等领域的思想。
目录信息
第1 章 Hadoop简介 2
1.1 为什么写《Hadoop 实战》 3
1.2 什么是Hadoop 3
1.3 了解分布式系统和Hadoop 4
1.4 比较SQL 数据库和Hadoop 5
1.5 理解MapReduce 6
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 JobTracker 19
2.1.5 TaskTracker 19
2.2 为Hadoop 集群安装SSH 21
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 编程读写HDFS 35
3.2 剖析MapReduce 程序 37
3.2.1 Hadoop数据类型 39
3.2.2 Mapper 40
3.2.3 Reducer 41
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 OutputFormat 49
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包使用Streaming 75
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 章 管理Hadoop 147
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 安装AWS 163
9.2.1 获得AWS身份认证凭据 164
9.2.2 获得命令行工具 166
9.2.3 准备SSH密钥对 168
9.3 在EC2 上安装Hadoop 169
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 Latin 182
10.5 谈谈Pig Latin 186
10.5.1 数据类型和schema 186
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
· · · · · · (收起)
读后感
这是一本不是傻瓜类型的上手书,个人一般称傻瓜型的为入门书。 好吧,第一部分就是傻瓜部分,只要你把前三章看完,你就知道hadoop是什么,hadoop总体结构,hadoop的基本运行原理。至少知道了什么是map reduce, 之前听一个搞数据库的哥们说了两回也没有太清楚。 第二部分没有...
手头上买了本《Hadoop权威指南》,惨不忍睹地翻了一个月,一无所获。 宁肯看这本电子书,也不要《Hadoop权威指南》!
书中主要使用的是hadoop-0.19.1版本 翻译有些地方还是差强人意,上下文理解起来有时费劲 书中代码,不用说,在一个低版本上跑,包括自己搭环境,会是一个问题 个人不太推荐此书作为入门hadoop学习 整本书涉及的技术点可以说全部都是点到为止,不做深入,读完后,知道相关的...
不能完全照着本书,还需注意几个情况,详见http://www.cnblogs.com/aprilrain/archive/2013/01/28/2880460.html ☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻够长了吗?
用户评价
当我拿到《Hadoop实战》这本书的时候,我最担心的就是它会不会过于理论化,缺乏实际操作指导。然而,这本书给了我一个大大的惊喜。它不仅仅停留在概念的介绍,而是将理论与实践紧密结合。书中每一个重要技术点的讲解,都会配以详细的步骤和代码示例,让读者可以跟着书本一步一步地去操作。我尤其喜欢它在讲解MapReduce编程时,提供的那些经典的实际应用场景,比如日志分析、用户行为分析等,这些案例不仅贴近实际工作需求,而且非常有启发性,让我能够触类旁通,将所学知识应用到自己的项目中。书中对于Hadoop集群的搭建和维护也进行了非常细致的讲解,包括各种配置文件参数的含义,以及集群出现故障时如何排查和解决问题,这些内容对于希望在实际工作中部署和管理Hadoop集群的人来说,简直是无价之宝。总而言之,这本书是一本非常适合想要掌握Hadoop实战技能的读者的宝藏。
说实话,我一直对大数据技术有点畏惧,觉得它离我太遥远。但是,当我翻开《Hadoop实战》这本书后,这种感觉荡然无存。作者用一种非常通俗易懂的语言,将Hadoop的核心概念娓娓道来。我尤其喜欢书中对MapReduce编程模型的设计思路讲解,它并没有直接给出复杂的代码,而是从问题的本质出发,逐步引导我们思考如何将其分解成Map和Reduce两个阶段。通过书中提供的各种练习题和实际案例,我不仅巩固了理论知识,还锻炼了实际编程能力。书中还详细介绍了Hadoop生态系统中其他重要组件的使用,比如Hive和HBase,它们极大地简化了数据处理和存储的复杂性,让我对大数据平台的构建有了更全面的理解。我特别欣赏书中对于集群性能调优的讲解,这部分内容非常有价值,能够帮助我们最大限度地发挥Hadoop集群的潜力。这本书真正做到了“实战”二字,让我能够将所学知识应用到实际项目中,解决实际问题。
这本书的名字叫做《Hadoop实战》,我最近刚读完,整体感觉还是非常扎实的。尽管我之前对大数据这块了解不多,但这本书的叙述方式让我能一步步跟上思路。它并没有一开始就丢给我一大堆晦涩的概念,而是从Hadoop的起源和基本架构入手,解释了为什么需要Hadoop,以及它如何解决分布式存储和计算的问题。我尤其喜欢它在讲解HDFS(Hadoop分布式文件系统)时,详细描述了NameNode、DataNode的角色和工作流程,还有块的存储、副本机制等等,这些细节对于理解HDFS的可靠性和伸缩性至关重要。书中还花了相当大的篇幅讲解MapReduce编程模型,通过生动形象的例子,比如词频统计、数据排序等,让我彻底理解了Map和Reduce阶段的逻辑。书中提供的代码示例也非常实用,可以直接在本地搭建一个伪分布式环境进行练习,这对我来说是最大的帮助。总的来说,这本书像一位经验丰富的老师,耐心细致地引导我进入Hadoop的世界,让我对这个强大的分布式计算框架有了全面而深刻的认识。
《Hadoop实战》这本书,我真的要为它点赞!它在讲解HDFS的细节上可谓是精益求精,让我深刻理解了数据是如何在分布式环境中存储的,以及如何保证数据的安全性和可用性。书中对于NameNode和DataNode之间的通信机制,以及数据块的复制策略,都有非常清晰的图示和文字说明,这使得我对HDFS的内部运作有了更深的认识。更让我惊喜的是,书中关于Hadoop集群的部署和管理部分,提供了非常详尽的操作指南,从环境准备、安装配置到启动服务,每一步都详细列出,让我可以轻松搭建起一个Hadoop集群。而且,书中还针对一些常见问题的排查和解决提供了宝贵的经验,比如内存溢出、JobTracker无法启动等,这些都是在实际工作中可能会遇到的难题。总的来说,这本书不仅仅是技术知识的堆砌,更是一本凝聚了作者丰富实践经验的宝典,能够帮助读者快速成长为一名合格的Hadoop工程师。
《Hadoop实战》这本书的质量真是出乎我的意料,原本以为会是一本枯燥的技术手册,没想到读起来却颇具启发性。作者在讲解HDFS的部署和配置时,考虑到了各种实际情况,比如网络环境、硬件配置等,并提供了相应的解决方案,这对于初学者来说,无疑是排除了不少潜在的障碍。我特别欣赏书中对Hadoop生态系统的介绍,不仅仅是HDFS和MapReduce,还涵盖了HBase、Hive、Pig、ZooKeeper等组件,并详细阐述了它们之间的协作关系,让我对整个大数据技术栈有了宏观的认识。书中对于每个组件的安装、配置和基本使用都进行了详尽的说明,而且还提供了很多实用的命令行操作和脚本示例,这使得学习过程更加直观和高效。最让我印象深刻的是,书中并没有止步于讲解基本概念和操作,而是深入探讨了Hadoop集群的优化和调优技巧,比如内存调优、磁盘I/O优化、网络配置等,这些内容对于提升Hadoop集群的性能至关重要,也让我看到了这本书的深度和价值。
讲得很基础,版本有点老了(0.18)
书比较薄,但是易读性/实用性上好过权威指南
提高实战性的一本hadoop图书,推荐!
时间虚度,年岁空长,现在看技术的书也不怎么有激情和动力了。第一部分详细认真的看了,第二部分粗略的翻过了,第三部分一般的读过了。总的来说,一本不错的介绍Hadoop的书,适合想搞搞的人上手。
讲得很基础,版本有点老了(0.18)