关注微信

推荐商品

    加载中... 正在为您读取数据...
分享到:
  • Hadoop权威指南(第2版)(修订?升级版)[平装]
  • 共4个商家     62.30元~63.50
  • 作者:怀特(TomWhite)(作者),周傲英(合著者),DougCutting(合著者),周敏奇(译者),钱卫宁(译者),金澈清(译者),王晓
  • 出版社:清华大学出版社;第2版(2011年7月1日)
  • 出版时间:
  • 版次 :
  • 印刷时间:
  • 包装:
  • ISBN:9787302257585

  • 商家报价
  • 简介
  • 评价
  • 加载中... 正在为您读取数据...
  • 商品描述

    编辑推荐

    《Hadoop权威指南(第2版)(修订?升级版)》编辑推荐:Google帝国的基石是什么?MapReduce算法!开源项目Hadoop作为它的一个具体实现,可以轻松用于构建和维护一个可靠性高、伸缩性强的分布式系统。
    作者Tom White作为Hadoop的项目负责人,通过自己对Hadoop和Hadoop社区的理解,化繁为简,用浅显易懂的语言介绍了Hadoop能做什么,怎么做才能充分发挥Hadoop的优势,Hadoop能够和哪些开源工具结合使用。《Hadoop权威指南(第2版)》是一本主题丰富、讲解透彻的权威参考书,可帮助程序员了解分析海量数据集的细枝末节,帮助管理员掌握搭建和运行Hadoop集群的具体过程。
    经过修订和更新的第2版概述了Hadoop的最新动态,例如Hive、sqoop和Avro等。书中还提供了案例分析来帮助读者了解如何用Hadoop来解决具体的问题。如果想充分利用数据,从中挖掘出有价值的见解或者观点,毫无疑问,《Hadoop权威指南(第2版)(修订?升级版)》将是您不可或缺的重要参考。
    “谁说大象不能跳舞?Hadoop-轻松应对海量数据存储与分析所带来的挑战!”
    使用Hadoop分布式文件系统(HDFS)来存储大型数据集,然后用MapReduce对这些数据II执行分布式计算。Hadoop的数据和I/O构建块(用于压缩、数据完整性、序列化和持久处理)。
    探究MapReduce应用开发中常见的陷阱和高级特性。设计,构建和管理Hadoop专用集群或在云上运行Hadoop。使用Pig这种高级的查询语言来进行大规模数据处理。使用Hive(Hadoop的数据仓库系统)来分析数据集。
    使用HBase(Hadoop的数据库)来处理结构化数据和半结构化数据。
    深入介绍Zookeeper,一个用于构建分布式系统的协作类型工具箱。
    Cloudera是一家行业领先的Hadoop软件和服务供应商。Cloudera's Distribution forHadoop (CDH)是一个基于Apache Hadoop的综合性数据管理平台,Cloudera Enterprise则包括一些工具、平台和支持,供生产环境中使用Hadoop时使用。

    媒体推荐

    “有了这本权威指南,读者有机会通过大师的手笔来学习Hadoop——在掌握技术的同时,领略作者的睿智和清晰的文风。”
      ——Hadoop创始人 Doug Cutting于Cloudera

    作者简介

    作者:(美国)怀特 (Tom White) 译者:周敏奇 钱卫宁 金澈清 王晓玲

    怀特(Tom White),从2007年以来,一直担任Apache Hadoop项目负责人。他是Apache软件基金会的成员之一,同时也是Cloudera的一名工程师。Tom为oreully网、java.net和IBM的developerWorks写过大量文章,并经常在很多行业大会上发表演讲。

    目录

    第1章 初识Hadoop
    数据!数据!
    数据存储与分析
    与其他系统相比
    关系型数据库管理系统
    网格计算
    志愿计算
    Hadoop 发展简史
    Apache Hadoop和Hadoop生态圈

    第2章 关于MapReduce
    一个气象数据集
    数据的格式
    使用Unix工具进行数据分析
    使用Hadoop分析数据
    map阶段和reduce阶段
    横向扩展
    合并函数
    运行一个分布式的MapReduce作业
    Hadoop的Streaming
    Ruby版本
    Python版本
    Hadoop Pipes
    编译运行

    第3章 Hadoop分布式文件系统
    HDFS的设计
    HDFS的概念
    数据块
    namenode和datanode
    命令行接口
    基本文件系统操作
    Hadoop文件系统
    接口
    Java接口
    从Hadoop URL中读取数据
    通过FileSystem API读取数据
    写入数据
    目录
    查询文件系统
    删除数据
    数据流
    文件读取剖析
    文件写入剖析
    一致模型
    通过 distcp并行拷贝
    保持 HDFS 集群的均衡
    Hadoop的归档文件
    使用Hadoop归档文件
    不足

    第4章 Hadoop I/O
    数据完整性
    HDFS的数据完整性
    LocalFileSystem
    ChecksumFileSystem
    压缩
    codec
    压缩和输入切分
    在MapReduce中使用压缩
    序列化
    Writable接口
    Writable类
    实现定制的Writable类型
    序列化框架
    Avro
    依据文件的数据结构
    写入SequenceFile
    MapFile

    第5章 MapReduce应用开发
    配置API
    合并多个源文件
    可变的扩展
    配置开发环境
    配置管理
    辅助类GenericOptionsParser,Tool和ToolRunner
    编写单元测试
    mapper
    reducer
    本地运行测试数据
    在本地作业运行器上运行作业
    测试驱动程序
    在集群上运行
    打包
    启动作业
    MapReduce的Web界面
    获取结果
    作业调试
    使用远程调试器
    作业调优
    分析任务
    MapReduce的工作流
    将问题分解成MapReduce作业
    运行独立的作业

    第6章 MapReduce的工作机制
    剖析MapReduce作业运行机制
    作业的提交
    作业的初始化
    任务的分配
    任务的执行
    进度和状态的更新
    作业的完成
    失败
    任务失败
    tasktracker失败
    jobtracker失败
    作业的调度
    Fair Scheduler
    Capacity Scheduler
    shuffle和排序
    map端
    reduce端
    配置的调优
    任务的执行
    推测式执行
    重用JVM
    跳过坏记录
    任务执行环境

    第7章 MapReduce的类型与格式
    MapReduce的类型
    默认的MapReduce作业
    输入格式
    输入分片与记录
    文本输入
    二进制输入
    多种输入
    数据库输入(和输出)
    输出格式
    文本输出
    二进制输出
    多个输出
    延迟输出
    数据库输出

    第8章 MapReduce的特性
    计数器
    内置计数器
    用户定义的Java计数器
    用户定义的Streaming计数器
    排序
    准备
    部分排序
    总排序
    二次排序
    联接
    map端联接
    reduce端联接
    边数据分布
    利用JobConf来配置作业
    分布式缓存
    MapReduce库类

    第9章 构建Hadoop集群
    集群规范
    网络拓扑
    集群的构建和安装
    安装Java
    创建Hadoop用户
    安装Hadoop
    测试安装
    SSH配置
    Hadoop配置
    配置管理
    环境设置
    Hadoop守护进程的关键属性
    Hadoop守护进程的地址和端口
    Hadoop的其他属性
    创建用户帐号
    安全性
    Kerberos和Hadoop
    委托令牌
    其他安全性改进
    利用基准测试程序测试Hadoop集群
    Hadoop基准测试程序
    用户的作业
    云上的Hadoop
    Amazon EC2上的Hadoop

    第10章 管理Hadoop
    HDFS
    永久性数据结构
    安全模式
    日志审计
    工具
    监控
    日志
    度量
    Java管理扩展(JMX)
    维护
    日常管理过程
    委任节点和解除节点
    升级

    第11章 Pig简介
    安装与运行Pig
    执行类型
    运行Pig程序
    Grunt
    Pig Latin编辑器
    示例
    生成示例
    与数据库比较
    PigLatin
    结构
    语句
    表达式
    类型
    模式
    函数
    用户自定义函数
    过滤UDF
    计算UDF
    加载UDF
    数据处理操作
    加载和存储数据
    过滤数据
    分组与连接数据
    对数据进行排序
    组合和分割数据
    Pig实战
    并行处理
    参数代换

    第12章 Hive
    第13章 HBase
    第14章 ZooKeeper
    第15章 开源工具
    第16章 实例分析

    序言

    据2011年4月圣地亚哥大学公布的报告,2008年全球两千七百万台服务器处理的数据量已达9.57ZB。如何有效管理和高效处理这些海量数据已成为当前亟待解决的问题。另外,三大类海量数据——商业数据、科学数据、网页数据——的异构性(结构化数据、半结构化数据以及非结构化数据)又进一步加剧了海量数据处理的难度。2011年2月出版的《科学》杂志刊登专题“Special Online Collection: Dealing with Data”,围绕着目前各类数据量的激增展开讨论,认为海量数据的收集、维护和使用已成为科学研究的主要工作。对许多学科而言,海量数据处理意味着更严峻的挑战,然而更好地管理和处理这些数据也将会获得意想不到的收获。关系型数据库系统的研究在数据管理方面积累较多经验。20世纪70年代,关系模型的提出以及IBM System R 和伯克利Ingres的成功开发,证明了关系型数据库系统处理商业数据的优越性。20世纪80年代,由此模型派生出的IBM DB2,Sybase SQL Server、Oracle Database等以联机事务处理(OLTP)为主的数据库系统的蓬勃发展,使数据库系统得以充分的商业化。
    20世纪90年代,W. H. Inmon提出的整合历史数据,通过在线分析(OLAP)和数据挖掘等方法实现商业规划、决策支持等商业智能服务的数据仓库系统,为数据库系统的应用翻开了崭新的篇章。然而,面对当下的海量数据,这一近40年历史、一体适用(one size fits all)的数据库系统架构显得老态龙钟,力不从心,逐渐无法应对当前的需求。自从2003年以来,谷歌陆续发布GFS和MapReduce等高可扩展、高性能的分布式海量数据处理框架,并证明了该框架在处理海量网页数据时的优越性。该框架实现了更高应用层次的抽象,使用户无需关注复杂的内部工作机制,无需具备丰富的分布式系统知识及开发经验,即可实现大规模分布式系统的部署与海量数据的并行处理。Apache Hadoop开源项目克隆了这一框架,推出了Hadoop系统。该系统已受到学术界和工业界的广泛认可和采纳,并孵化出众多子项目(如Pig,Zookeeper和Hive等),日益形成一个易部署、易开发、功能齐全、性能优良的系统。华东师范大学海量计算研究所从2006年开始从事海量数据方面的研究,且在集群(288核,40TB存储)上部署了Hadoop系统,并成功完成多项研究。多年来从事海量数据学术研究和项目实施的相关经历,使得我们对Hadoop系统及其开发有了较深入的理解和认识,并在Hadoop部署、调优和优化等方面积累了丰富的经验。2010年,Hadoop项目负责人Tom White的《Hadoop权威指南》出版第2版。这本书内容组织得很好,思路清晰,紧密结合了实际问题。

    文摘

    版权页:



    插图:



    Hadoop起源于Nutch项目。我们曾尝试构建一个开源的Web搜索引擎,但是始终无法有效地将计算任务分配到多台(也就寥寥几台)计算机上。直到谷歌公司发表GFS和MapReduce的相关论文,我们的思路才清晰起来。他们设计的系统已可精准地解决我们在Nutch项目中面临的困境。因此,我们(两个半天工作制的人)也尝试重建这些系统,将其作为Nutch的一部分。我们成功地在20多台机器上运行了Nutch。但是我们很快就意识到,只有在几千台机器上运行Nutch才能够应付Web的超大规模,但这个工作量远远不是两个半天工作制的开发人员能搞定的。几乎就在那个时候,雅虎公司也对这项技术产生了浓厚的兴趣,并迅速组建了一支开发团队。我有幸成为其中一员。我们剥离了Nutch的分布式计算模块,将其称为Hadoop。在雅虎的帮助下,Hadoop很快就能够真正处理Web数据了。从2006年起,Tom White就对Hadoop贡献良多。我很早以前通过他的一篇非常优秀的有关Nutch的论文认识了他,在这篇论文中,他以一种优美的笔调清晰地阐述了深刻的想法。很快,我发现他开发的软件也同样优美且易于理解。Tom从一开始就乐于站在用户和项目的角度来考虑问题。与其他开源程序开发人员不同,Tom不会刻意调整系统使其更加符合他个人的需要,而是尽可能地让所有用户用起来都很方便。Tom最初专注于如何让Hadoop在亚马逊的EC2和S3服务上运行良好。之后,他转而解决更为广泛的难题,包括如何提高MapReduce API,如增加强网站,如何设计对象序列化框架,等等。在所有工作中,Tom都非常精准地阐明了想法。在很短的时间里,Tom进入了Hadoop委员会,并在不久之后成为Hadoop项目管理委员会的一员。现在,Tom是一个受人尊敬的Hadoop开发社区的高级成员。尽管他是这个项目多个技术领域的专家,但他的专长是使Hadoop易于理解和使用。因此,当我得知Tom有意写一本关于Hadoop的书时,我非常高兴。是的,谁能够比他更胜任呢?现在,你们有机会向这位大师学习Hadoop——不单单是技术,也包括一些常识和通俗的笔调。