一、背景
1、起源
MapReduce编程模型的思想来源于函数式编程语言Lisp,由Google公司于2004年提出并首先应用于大型集群。同时,Google也发表了GFS、BigTable等底层系统以应用MapReduce模型。在2007年,Google’s MapReduce Programming Model-Revisted论文发表,进一步详细介绍了Google MapReduce模型以及Sazwall并行处理海量数据分析语言。Google公司以MapReduce作为基石,逐步发展成为全球互联网企业的领头羊。
2、项目起源和发展
Hadoop作为Apache基金会资助的开源项目,由Doug Cutting带领的团队进行开发,基于Lucene和Nutch等开源项目,实现了Google的GFS和Hadoop能够稳定运行在20个节点的集群;2006年1月,Doug Cutting加入雅虎公司,同年2月Apache Hadoop项目正式支持HDFS和MapReduce的独立开发。同时,新兴公司Cloudera为Hadoop提供了商业支持,帮助企业实现标准化安装,并志愿贡献社区。Hadoop的最新版本是0.21.0,说明其还在不断完善发展之中。
二、Hadoop基础原理
1、定义
Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
2、组成
Hadoop由分布式存储HDFS和分布式计算MapReduce两部分组成。HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。MapReduce是Google的一项重要技术,它是一个编程模型,用以进行大数据量的计算。MapReduce的名字源于这个模型中的两项核心操作:Map和Reduce。Map是把一组数据一对一的映射为另外的一组数据,Reduce是对一组数据进行归约,映射和归约的规则都由一个函数指定。
三、国内外应用
1、国外应用
2008年2月,雅虎宣布搭建出世界上最大的基于Hadoop的集群系统—Yahoo! Search Webmap,另外还被广泛应用到雅虎的日志分析、广告计算、科研实验中;Amazon的搜索门户A9.com中的商品搜索的索引生成就是基于Hadoop完成的;互联网电台和音乐社区网站Last.fm使用Hadoop集群运行日志分析、A/B测试评价、AdHoc处理和图表生成等日常作业;著名SNS网站Facebook用Hadoop构建了整个网站的数据仓库,它目前有320多台机器进行网站的日志分析和数据挖掘。 UC Berkeley等著名高校也对Hadoop进行应用和研究,以提高其整体性能,包括Matei Zaharia等人改进了Hadoop的推测式执行技术并发表了Improving MapReduce Performance in Heterogeneous Environment;Tyson Condie等人改进了MapReduce体系,允许数据在操作之间用管道传送,开发了Hadoop Online Prototype(HOP)系统,并发表了MapReduce Online。
2、国内应用
2008年之后,国内应用和研究Hadoop的企业也越来越多,包括淘宝、百度、腾讯、网易、金山等。淘宝是国内最先使用Hadoop的公司之一;百度在Hadoop上进行广泛应用并对它进行改进和调整,同时赞助了HyperTable的开发。总之,互联网企业是Hadoop在国内的主要使用力量。同样的,很多科研院所也投入到Hadoop的应用和研究中,包括中科院、清华大学、浙江大学和华中科技大学等。
四、文档说明
1、来源
该文档在编写的过程中添加了hadoop自带的中文说明文档,同时也借鉴了网上一些朋友编写资料。主要目的就是将这里信息汇总,方便查阅和推广。
2、环境
该文档中涉及的例子我采用的都是Linux操作系统、Apache发布的Hadoop版本0.20.2、JDK使用的是1.6,Hive使用的是0.5、HBase使用的是0.20.5
分享到:
相关推荐
例如,通过Hadoop进行词频统计(Word Count)是一个经典的入门示例,它展示了如何利用MapReduce处理文本数据,计算每个单词的出现次数。 Hadoop 的流行还催生了一系列相关的生态系统工具,如Hive(用于数据仓库和...
通过以上知识点的介绍,读者可以对大数据和Hadoop有一个全面的认识,理解到Hadoop在大数据处理领域的重要地位和作用,以及它如何通过借鉴Google的技术,为处理海量、多样化数据提供了一套行之有效的解决方案。...
课程首先从第一章开始,讲解了Hadoop的基本概念,包括它的起源、发展背景以及在大数据处理中的核心地位。Hadoop作为一个开源框架,主要用于存储和处理大规模数据集,其分布式文件系统(HDFS)和并行计算模型...
- **第1章:介绍Hadoop**:这一章概述了Hadoop的历史背景、设计理念以及核心组件。通过本章的学习,读者可以了解Hadoop是如何应对大规模数据处理挑战的。 - **第2章:启动Hadoop**:介绍了如何安装和配置Hadoop...
综上所述,《Hadoop权威指南》不仅是一本入门书籍,更是Hadoop学习者的宝典,详细介绍了Hadoop的核心概念、架构原理以及实际应用场景。无论是初学者还是有经验的开发者,都可以从中获得宝贵的指导和灵感。
- 介绍了另一种编写MapReduce程序的方式——Hadoop Pipes。 3. **Hadoop分布式文件系统 (HDFS)** - **HDFS的设计** - 讨论了HDFS的设计理念和架构特点。 - **HDFS概念** - 包括块(Block)、名称节点(Namenode)...
#### 一、大数据与Hadoop背景 自“大数据”这一概念诞生以来,它已经在过去十多年间经历了飞速的发展。众多机构和组织试图对其定义进行阐述,例如研究机构Gartner将其定义为需要采用新型处理模式以实现更高效决策力...
- **定义与背景**:Hadoop是一个开源框架,用于分布式存储和处理大型数据集。它最初由Apache软件基金会开发,旨在解决大规模数据处理的问题。 - **核心组件**: - **HDFS(Hadoop Distributed File System)**:...
【标题】"Hadoop之Impala简单使用"的文档主要涵盖了大数据处理领域中Hadoop生态中的重要组件——Impala的入门知识。Impala是Cloudera公司开发的一个用于Hadoop的大数据查询系统,它提供了快速、低延迟的SQL查询功能...
本章介绍了Hadoop生态系统中的两种主要调度器——公平调度器(Fair Scheduler)和容量调度器(Capacity Scheduler),以及Oozie——一种用于协调Hadoop作业的工作流调度工具。通过实例演示了如何使用这些工具来优化...
Spark的核心是一个分布式计算模型——弹性分布式数据集(Resilient Distributed Datasets, RDDs)。RDDs是Spark处理数据的基本单元,它们是不可变的,并且可以在集群中进行并行操作。通过RDDs,Spark支持批处理、...
Hadoop作为大数据处理的基石,由Google的两个创新——分布式存储(Google文件系统,实现为HDFS)和分布式计算(MapReduce)推动。然而,MapReduce的编程模型复杂,需要多步Map和Reduce操作,且数据在步骤间需序列化...
- 介绍了一个具体的案例——Hush(HBase URL Shortener),并通过该案例讲解了如何运行Hush。 3. **第1章:简介** - **大数据的曙光**:探讨了大数据时代的到来及其对数据存储技术的影响。 - **关系型数据库系统...