整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

《 Hadoop权威指南(第3版 修订版)》电子版 全网首发

Hadoop权威指南(第3版) zuiw 290℃ 0评论

hadoop.jpg

Tom White,数学王子&Hadoop专家。身为Apache Hadoop提交者八年之久,Apache软件基金会成员之一。**知名云计算公司Cloudera的软件工程师。Tom拥有英国剑桥大学数学学士学位和利兹大学科学哲学硕士学位。

准备好释放数据的强大潜能了吗?借助于这本《Hadoop权威指南》,你将学习如何使用Apache Hadoop构建和维护稳定性高、伸缩性强的分布式系统。本书是为程序员写的,可帮助他们分析任何大小的数据集。本书同时也是为管理员写的,帮助他们了解如何设置和运行Hadoop集群。本书通过丰富的案例学习来解释Hadoop的幕后机理,阐述了Hadoop如何解决现实生活中的具体问题。第3版覆盖Hadoop的*新动态,包括新增的MapReduce API,以及MapReduce 2及其灵活性更强的执行模型(YARN)。数学科普作家马丁·加德纳(Martin Gardner)曾在一次采访中谈到:
  “在我的世界里,只有微积分。这是我的专栏 取得成功奥秘。我花了很多时间才明白如何以大多数读者都能明白的方式将自己所知道的东西娓娓道来。” 
  这也是我对Hadoop的诸多感受。它的内部工作机制非常复杂,是一个集分布式系统理论、实际工程和常识于一体的系统。而且,对门外汉而言,Hadoop更像是“天外来客”。
  但Hadoop其实并没有那么让人费解,抽丝剥茧,我们来看它的“庐山真面目”。它提供的用于构建分布式系统的每个工具(用于数据存储、数据分析和协调处理)都非常简单。如果说这些工具有一个共同的主题,那就是它们更抽象,对偶尔有大量数据需要存储的程序员、有大量数据需要分析的程序员、有大量计算机需要管理的程序员同时却没有足够的时间、技能或者不想成为分布式系统专家的程序员提供一套组件,使其能够利用Hadoop来构建基础平台。
  这样一个简单、通用的特性集,促使我在开始使用Hadoop时便明显感觉到Hadoop真的值得推广。但最开始的时候(2006年初),安装、配置和Hadoop应用编程是一门高深的艺术。之后,情况确实有所改善:文档增多了;示例增多了;碰到问题时,可以向大量活跃的邮件列表发邮件求助。对新手而言,最大的障碍是理解Hadoop有哪些能耐,它擅长什么,它如何使用。这些问题使我萌发了写作本书的动机。
  Apache Hadoop社区的发展来之不易。在过去的三年多时间里,Hadoop项目开花结果并孵化出大约半打子项目。到目前,它在性能、可靠性、可扩展性和可管理性方面都实现了巨大的飞跃。但是,为了让更多人采用Hadoop,我认为我们要让Hadoop更好用。这需要创建更多新的工具,集成更多的系统,创建新的、改进的API。我希望我自己能够参与,同时也希望本书能够鼓励并吸引其他人也参与Hadoop项目。

初识Hadoop
  在古时候,人们用牛来拉重物。当一头牛拉不动一根圆木时,人们从来没有考虑过要培育更强壮的牛。同理,我们也不该想方设法打造超级计算机,而应该千方百计综合利用更多计算机来解决问题。
  ——格蕾斯·霍珀(Grace Hopper)
  1.1 数据!数据!
  我们生活在这个数据大爆炸的时代,很难估算全球电子设备中存储的数据总共有多少。国际数据公司(IDC)曾经发布报告称,2006年数字世界(digital universe)项目统计得出全球数据总量为0.18 ZB并预测在2011年将达到1.8 ZB。 1 ZB等于1021字节,等于1000 EB(exabytes),1 000 000 PB (petabytes),等于大家更熟悉的10亿TB(terrabytes)!这相当于全世界每人一个硬盘中保存的数据总量!
  数据“洪流”有很多来源。以下面列出的为例:
  纽约证交所每天产生的交易数据多达1 TB
  脸谱网(Facebook)存储的照片约100 亿张,存储容量约为 1 PB
  家谱网站Ancestry.com存储的数据约为2.5 PB
  互联网档案馆(The Internet Archive)存储的数据约为2 PB,并以每月至少20 TB的速度持续增长
  瑞士日内瓦附近的大型强子对撞机每年产生的数据约为15 PB
  还有其他大量的数据。但是你可能会想它对自己又有哪些影响呢?地球人都知道,大部分数据都严密锁存在一些大型互联网公司(如搜索引擎公司)或科学机构与金融机构中。难道所谓的“大数据”只影响小机构和个人?
  我个人是这样认为的。以照片为例,我妻子的爷爷是一个骨灰级的摄影爱好者。在成年之后,他一直都在拍照。他的整个相册,包括普通胶片、幻灯片、35mm胶片,在扫描成高分辨率的图片之后,大约有10 GB。相比之下,在2008年,我家用数码相机拍摄的照片总共有5 GB。对照爷爷的照片生成速度,我家是他老人家的35倍!并且,而且这个速度还在不断增长中,因为现在拍照片真的是越来越容易了。
  有句话说得好:“大数据胜于好算法。” 意思是说对于某些应用 (譬如根据以往的偏好来推荐电影和音乐),不论算法有多牛,基于小数据的推荐效果往往都不如基于大量可用数据的一般算法的推荐效果。
  现在,我们已经有了大量数据,这是个好消息。但不幸的是,我们必须想方设法好好地存储和分析这些数据。
  1.2 数据的存储与分析
  我们遇到的问题很简单:在硬盘存储容量多年来不断提升的同时,访问速度(硬盘数据读取速度)却没有与时俱进。1990年,一个普通硬盘可以存储1370 MB数据,传输速度为4.4 MB/s ,因此只需要5分钟就可以读完整个硬盘中的数据。20年过去了,1 TB的硬盘已然成为主流,但其数据传输速度约为100 MB/s,读完整个硬盘中的数据至少得花2.5个小时。
  读完整个硬盘中的数据需要更长时间,写入数据就别提了。一个很简单的减少读取时间的办法是同时从多个硬盘上读数据。试想,如果我们有100个硬盘,每个硬盘存储1%的数据,并行读取,那么不到两分钟就可以读完所有数据。
  仅使用硬盘容量的1%似乎很浪费。但是我们可以存储100个数据集,每个数据集1 TB,并实现共享硬盘的读取。可以想象,用户肯定很乐于通过硬盘共享来缩短数据分析时间;并且,从统计角度来看,用户的分析工作都是在不同时间点进行的,所以彼此之间的干扰并不太大。
  虽然如此,但要对多个硬盘中的数据并行进行读写数据,还有更多问题要解决。第一个需要解决的是硬件故障问题。一旦开始使用多个硬件,其中个别硬件就很有可能发生故障。为了避免数据丢失,最常见的做法是复制(replication):系统保存数据的复本(replica),一旦有系统发生故障,就可以使用另外保存的复本。例如,冗余硬盘阵列(RAID)就是按这个原理实现的,另外,Hadoop的文件系统(HDFS,Hadoop Distributed FileSystem)也是一类,不过它采取的方法稍有不同,详见后文的描述。
  第二个问题是大多数分析任务需要以某种方式结合大部分数据来共同完成分析,即从一个硬盘读取的数据可能需要与从另外99个硬盘中读取的数据结合使用。各种分布式系统允许结合不同来源的数据进行分析,但保证其正确性是一个非常大的挑战。MapReduce提出一个编程模型,该模型抽象出这些硬盘读写问题并将其转换为对一个数据集(由键值对组成)的计算。后文将详细讨论这个模型,这样的计算由map和reduce两部分组成,而且只有这两部分提供对外的接口。与HDFS类似,MapReduce自身也有很高的可靠性。
  简而言之,Hadoop为我们提供了一个可靠的共享存储和分析系统。HDFS实现数据的存储,MapReduce实现数据的分析和处理。虽然Hadoop还有其他功能,但HDFS和MapReduce是它的核心价值。
  1.3 相较于其他系统的优势
  MapReduce看似采用了一种蛮力方法。每个查询需要处理整个数据集或至少一个数据集的绝大部分。但反过来想,这也正是它的能力。MapReduce是一个批量查询处理器,能够在合理的时间范围内处理针对整个数据集的动态查询。它改变了我们对数据的传统看法,解放了以前只是保存在磁带和硬盘上的数据。它让我们有机会对数据进行创新。以前需要很长时间处理才能获得结果的问题,到现在变得顷刻之间就迎刃而解,同时还可以引发新的问题和新的见解。
  例如,Rackspace公司的邮件部门Mailtrust就用Hadoop来处理邮件日志。他们写动态查询,想借此找出用户的地理分布。他们是这么描述的:“这些数据非常有用,我们每月运行一次MapReduce任务来帮助我们决定哪些Rackspace数据中心需要添加新的邮件服务器。”
  通过整合好几百GB的数据,用MapReduce来分析这些数据,Rackspace的工程师从中发现了以前从来没有注意到的数据,甚至还运用这些信息来改善了现有的服务。第16章将详细介绍Rackspace公司内部是如何使用Hadoop的。
  ......

转载请注明:全栈大数据 » 《 Hadoop权威指南(第3版 修订版)》电子版 全网首发

喜欢 (3)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址