新書推薦:
《
塔西佗(全二册)(二十世纪人文译丛)
》
售價:NT$
1800.0
《
(棱镜精装人文译丛)思想的假死
》
售價:NT$
290.0
《
当代精神分析新论
》
售價:NT$
430.0
《
宋初三先生集(中国思想史资料丛刊)
》
售價:NT$
990.0
《
棕榈油的全球史 : 从奴隶船到购物篮
》
售價:NT$
440.0
《
简帛时代与早期中国思想世界(上下册)(王中江著作系列)
》
售價:NT$
1400.0
《
进化主义在中国的兴起(王中江著作系列)
》
售價:NT$
950.0
《
不废风雅 生活的意趣(汪曾祺风雅意趣妙文)
》
售價:NT$
280.0
|
編輯推薦: |
百度资深Hadoop技术专家和高级算法工程师撰写,结合百度大数据实践,直击企业痛点,多位大数据技术专家联袂推荐!
从使用、原理、运维和开发4个方面深度讲解Hadoop最核心的技术
|
內容簡介: |
这是一本技术深度与企业实践并重的著作,由百度顶尖的Hadoop技术工程师撰写,是百度Hadoop技术实践经验的总结。本书使用、实现原理、运维和开发4个方面对Hadoop的核心技术进行了深入的讲解:(1)使用:详细讲解了HDFS存储系统、MapReduce计算框架,以及HDFS的命令系统;(2)原理:结合源代码,深度分析了MapReduce、HDFS、Streaming、Pipes、Hadoop作业调度系统等重要技术和组件的架构设计、工作机制和实现原理;(3)运维:结合百度的实际生产环境,详细讲解了Hadoop集群的安装、配置、测试以及管理和运维;(4)开发:详细讲解了HadoopStreaming、Pipes的使用和开发实践,以及MapReduce的编程实践和常见问题。与市面上已有的Hadoop相比,本书的最大不同之处是它直切企业应用和实践Hadoop技术的痛点,深入讲解了企业最需要和最头疼的技术和问题,内容上非常聚焦。
|
關於作者: |
翟周伟,就职于百度,资深Hadoop技术专家,专注于Hadoop&大数据、数据挖掘、自然语言处理等领域。2009年便开始利用Hadoop构建商业级大数据系统,是国内该领域最早的一批人之一,负责设计过多个基于Hadoop的大数据平台和分析系统。2011年合著出版《Hadoop开源云计算平台》。在自然语言处理领域申请过一项发明专利。
|
目錄:
|
前言
基础篇
第1章 认识Hadoop
第2章 Hadoop使用之初体验
第3章 Hadoop存储系统
第4章 HDFS的使用
第5章 MapReduce计算框架
第6章 Hadoop命令系统
高级篇
第7章 MapReduce深度分析
第8章 Hadoop Streaming和Pipes原理与实现
第9章 Hadoop作业调度系统
实战篇
第10章 Hadoop集群搭建
第11章 Hadoop Streaming和Pipes编程实战
第12章 Hadoop MapReduce应用开发
|
內容試閱:
|
认识Hadoop
认识并掌握一项技术往往需要采用先从整体学习了解再到局部深入的基本方法,在学习Hadoop之前至少需要从宏观上搞清楚两个基本问题:第一,Hadoop是什么;第二,Hadoop可以用来做什么。首先,Hadoop是一个分布式基础架构系统,是Google的云计算基础架构系统的开源实现,Google底层基础设施最核心的组件包括Google FileSystem和MapReduce计算框架,相应的Hadoop最核心的设计就是HDFS和MapReduce,这个系统就像一个集群操作系统一样,可以使廉价的通用硬件形成资源池从而组成威力强大的分布式集群系统,用户可以在不了解分布式底层细节的情况下开发分布式程序。那么Hadoop可以用来做什么呢,Hadoop既然是Google基础设施的开源实现,自然可以做支撑搜索引擎的基础架构,由于又是一个通用的分布式框架,因此可以处理很多和大数据相关的分布式应用。
本章将从整体上介绍Hadoop,包括Hadoop的发展渊源、基本思想架构,以及Hadoop的发展应用现状,从而使读者对Hadoop有一个基本的认识,为进一步深入学习夯实基础。
1.1 缘于搜索的小象
追本溯源,Hadoop起源于Nutch,因此学习Hadoop就有必要了解一下这种渊源及Hadoop的发展简史。
1.1.1 Hadoop的身世
首先我们介绍一下Nutch的发展情况,Nutch是一个以Lucene为基础实现的搜索引擎系统,Lucene为Nutch提供了文本检索和索引的API,Nutch不仅仅有检索的功能,还有网页数据采集的功能。Mike Cafarella和Doug Cutting在2002年开始研发Nutch系统,然而他们很快发现他们的架构很难扩展到数十亿级别的网页规模,因为这样规模的搜索引擎系统要涉及网页的分布式存储问题及分布式建立索引的问题。恰在此时,Google公布了支撑其搜索引擎服务的文件系统架构设计——Google''s Distributed Filesystem,这种被称为GFS的基础架构很快引起了他们的注意,并被成功引入Nutch系统中,在Nutch中被命名为Nutch分布式文件系统——NDFS,正是NDFS解决了Nutch搜索引擎系统中网页等海量数据的存储问题。2004年,Google又公布了一种并行计算模型MapReduce的设计论文,紧接着在2005年Nutch就已经实现了这种高效的并行计算模型来解决数十亿级别以上网页的分布式采集及索引构建。很快他们就发现这种NDFS和MapReduce模型不仅可以用来解决搜索引擎中的海量网页问题,同时还具有通用性,可以用来构建一种分布式的集群系统,然后在2006年这两个模块就从Nutch中独立出来,并被命名为Hadoop,因此在Nutch-0.8.0版本之前,Hadoop其实还属于Nutch的一部分,而从Nutch-0.8.0开始,将其实现的NDFS和MapReduce剥离出来成立一个新的开源项目,这就是我们目前所熟知的Hadoop平台。
1.1.2 Hadoop简介
上一节讲述了Hadoop和Nutch的关系,从这种渊源上来讲,Hadoop本质上起源于Google的集群系统,Google的数据中心使用廉价的Linux PC机组成集群,用其运行各种应用。即使是分布式开发的新手也可以迅速使用Google的基础设施。Google采集系统的核心的组件有两个:第一个就是GFS(Google FileSystem),一个分布式文件系统,隐藏下层负载均衡,冗余复制等细节,对上层程序提供一个统一的文件系统API接口;第二个是MapReduce计算模型,Google发现大多数分布式运算可以抽象为MapReduce操作。Map是把输入Input分解成中间的KeyValue对,Reduce把KeyValue合成最终输出Output。这两个函数由程序员提供给系统,下层设施把Map和Reduce操作分布在集群上运行,并把结果存储在GFS上。
而Hadoop就是Google集群系统的一个Java开源实现,是一个项目的总称,主要是由HDFS、MapReduce组成。其中HDFS是Google File System(GFS)的开源实现;MapReduce是Google MapReduce的开源实现。这个分布式框架很有创造性,而且有极大的扩展性,使Google在系统吞吐量上有很大的竞争力。在2006年时Hadoop就受到了Yahoo的支持,目前Yahoo内部已经使用Hadoop代替了原来的分布式系统并拥有了世界上最大的Hadoop集群。
Hadoop实现了HDFS文件系统和MapReduce,使Hadoop成为一个分布式的计算平台。用户只要分别实现Map和Reduce,并注册Job即可自动分布式运行。因此,Hadoop并不仅仅是一个用于存储的分布式文件系统,而是用于由通用计算设备组成的大型集群上执行分布式应用的框架。一般来讲,狭义的Hadoop就是指HDFS和MapReduce,是一种典型的Master-Slave架构,如图1-1所示。
|
|