《MapReduce设计模式》一1.2 MapReduce简史

1.2 MapReduce简史

是什么触动我们写一本MapReduce设计模式的书呢?当前,社区的发展势头和广泛使用的设计模式已经积累到了一个关键点,使得汇总整理一份设计模式清单供开发者分享成为可能。在前几年,Hadoop的发展初期,还没有足够的这方面的经验积累。但MapReduce的发展速度超乎寻常。从2004年Google公开发布MapReduce的论文开始,到2012年为止,Hadoop已经成长为了被广泛采用的分布式数据处理的业界标准。

MapReduce的真实起源是存在争议的,但引领我们走向这个旅程的是2004年Jeffrey Dean和Sanjay Ghemawat发表的论文《MapReduce:Simplified Data Processing on Large Clusters》。这篇论文此后被广泛引用,它描述了Google如何通过拆分、处理和聚合来处理他们那些大到令人难以置信的数据集。

在这篇论文发表后不久,开源软件领域的先行者Doug Cutting开始为他的Nutch系统实现其分布式的MapReduce框架,Nutch系统的目标是实现一个开源的搜索引擎。随着时间的推移以及后续Yahoo!的持续投入,Hadoop从Nutch中独立出来,并最终成为Apache Foundation的顶级项目。时至今日,大量的独立开发者和组织都加入到了Hadoop社区,并为其贡献代码,这些使得每一个Hadoop新版本的发布都有新增功能和性能提升。

此外,基于Hadoop的一些开源系统也在蓬勃发展。其中比较著名的包括Pig、Hive、HBase、Mahout和ZooKeeper。Doug Cutting和Hadoop社区的专家多次提到,Hadoop已经成为了分布式处理中分布式操作系统的核心部件。在本书中,我们将以Hadoop生态系统中Java版的MapReduce为基础,来解释我们的示例。在某些章节中,我们还会将MapReduce设计模式与相似的Pig或Hive SQL实现进行比较。

时间: 2024-08-03 01:48:17

《MapReduce设计模式》一1.2 MapReduce简史的相关文章

《MapReduce设计模式》一导读

前 言 MapReduce设计模式欢迎阅读<MapReduce设计模式>!这是一本既独特又熟悉的书.首先,这显然是一本关于设计模式的书,为大家提供解决问题的模板或通用指南.我们看了一些以前出版的有关设计模式的书,特别是Gamma等人(1995)编著的<Design Patterns: Elements of Reusable Object-Oriented Software>(通常被成为"四人组"书),从中汲取了灵感.在每个模式的描述中,读者都会看到一个我们反复

《MapReduce设计模式》一1.1 设计模式

1.1 设计模式 近些年来,设计模式使开发者的工作变得更轻松.这些设计模式为解决问题提供了可复用的通用方法,开发者在遇到问题时可以花更少的时间来思考解决问题的策略,从而有更多的时间用来迎接新的挑战.与此同时,开发者积累的丰富经验也有了简洁的方式传递给新入门的开发者. 在软件工程的设计模式领域中,有一个重要里程碑,即<Design Patterns:Elements of Reusable Object-Oriented Software>一书(由Gamma等人所著),通常也被称为"四

《MapReduce设计模式》一1.5 Pig和Hive

1.5 Pig和Hive 在Hadoop生态系统中有了Hive和Pig这类工具,对MapReduce设计模式没有太强烈的需求.但我们还是想借本书的开始部分解释为什么MapReduce设计模式依然如此重要. Pig和Hive是对MapReduce更高层次的抽象.虽然它们提供的接口与"map"和"reduce"无关,但实际上它们会将较高级的语言翻译成一组MapReduce作业.就像关系型数据库管理系统(RDBMS)中的查询计划器(query planner)会将SQL语

《MapReduce设计模式》一设计模式与MapReduce

第1章 设计模式与MapReduce MapReduce设计模式MapReduce是处理数据分布在数百台机器上的计算框架,近些年来,随着其在Google.Hadoop及其他一些系统中的应用而越来越流行起来.这个计算框架超乎寻常地强大,但它并不是一种针对"大数据"问题的通用解决方案,因此,虽然可以很好地适用于一些问题,但对有些问题来说,解决起来还是非常具有挑战性的.本书将介绍哪些问题适合使用MapReduce计算框架来解决,以及如何高效地使用MapReduce计算框架. 很多初步了解Ma

hadoop MapReduce设计模式学习笔记

使用MapReduce解决任何问题之前,我们需要考虑如何设计.并不是任何时候都需要map和reduce job. 1 MapReduce设计模式(MapReduce Design Pattern)         1.1 Input-Map-Reduce-Output         1.2 Input-Map-Output         1.3 Input-Multiple Maps-Reduce-Output         1.4 Input-Map-Combiner-Reduce-Ou

《MapReduce设计模式》一1.3 MapReduce和Hadoop简介

Hadoop MapReduce作业被分成一系列运行在分布式集群中的map任务和reduce任务.每个任务都工作在被指定的小的数据子集上,因此负载是遍布集群中各个节点上的.map任务主要负责数据的载入.解析.转换和过滤.每个reduce任务负责处理map任务输出结果的一个子集.然后,reducer任务从mapper任务处复制map任务的中间数据,进行分组和聚合操作.从简单的数值聚合到复杂的关联操作以及笛卡儿积操作,MapReduce通过如此简洁的架构来解决范围广泛的诸多问题,这确实让人难以置信.

《MapReduce设计模式》一1.4 Hadoop示例:单词计数

1.4 Hadoop示例:单词计数 在介绍完MapReduce的整个处理过程之后,让我们来看一个简单的示例:单词计数(Word Count)."单词计数"程序是一个典型的MapReduce示例,因为它既简单,又很适合使用MapReduce高效地处理.很多人会抱怨说"单词计数"作为示例已经被用过太多次了,希望本书后面的内容能弥补这一点! 在这个特定的示例中,我们将对StackOverflow网站上用户提交的评论进行单词计数.网页中Text域的内容将被抽取出来并做一些预

想学习mapreduce,大神们能不能给推荐一些书或者教程之类的,谢谢了

问题描述 想学习mapreduce,大神们能不能给推荐一些书或者教程之类的,谢谢了 mapreduce教程,想学习mapreduce,大神们能不能给推荐一些书或者教程之类的,谢谢了 解决方案 推荐两本书 MapReduce 2 0源码分析与编程实战 这个比较基础一些 MapReduce设计模式 这个对于提高很有帮助 解决方案二: 网上零零碎碎的东西先不要看,找本书系统学习下,遇到具体问题再上网查.否则误人子弟的东西太多,看来看去浪费时间. 解决方案三: http://www.cnblogs.co

《R与Hadoop大数据分析实战》一2.3 Hadoop MapReduce原理

2.3 Hadoop MapReduce原理 为了更好地理解MapReduce的工作原理,我们将会: 学习MapReduce对象. MapReduce中实现Map阶段的执行单元数目. MapReduce中实现Reduce阶段的执行单元数目. 理解MapReduce的数据流. 深入理解Hadoop MapReduce. 2.3.1 MapReduce对象 由Hadoop的MapReduce技术可以引申出如下3个主要对象: Mapper:它主要用于实现MapReduce的Map阶段的操作.该对象在M