Mapreduce for dummies

时间:2012-01-12 17:23:02

标签: hadoop mapreduce

好的,我正在尝试学习Hadoop和mapreduce。我真的想从mapreduce开始,我发现很多很多简化的映射器和缩减器的例子等等。但是,我看到丢失的东西。

虽然显示一个单词出现次数的示例很容易理解但它并没有真正帮助我解决任何“现实世界”的问题。有没有人知道在伪现实情况下实现mapreduce的好教程。比方说,我想在类似于Adventureworks的数据存储上使用hadoop和mapreduce。现在我想在5月份获得给定产品的订单。从hadoop / mapreduce的角度看怎么样? (我意识到这可能不是mapreduce旨在解决的问题类型,但它很快就会浮现在脑海中。)

任何方向都会有所帮助。

3 个答案:

答案 0 :(得分:13)

这本书Hadoop: The Definitive Guide是一个很好的起点。介绍性章节应该对您有用,以确定MapReduce的用途以及何时应该使用它。更高级的章节有很多比字数更实际的例子。

如果您想深入了解,可能需要查看Data-Intensive Text Processing with MapReduce。这肯定有很多“真实世界”的用例,但听起来并不像你对文本处理感兴趣。


对于您的特定示例,要实现的主要内容是:

  • 地图阶段主要用于解析,转换数据和过滤数据。考虑逐记录,无共享的记录处理方法。在字数统计中,这是解析行并分割出单词。
  • 减少阶段完全是关于聚合:计数,平均,最小/最大等。在字数统计中,这会计算单词的实例。

因此,如果您想要在5月份获得给定产品的所有记录,则可以使用仅限地图的作业来过滤所有数据,并仅保留所需的记录。但是,您真的应该阅读Hadoop有用的内容。能够更好地适应Hadoop的问题是:给我一个每月购买每件商品多少次的数量(也许是建立一个矩阵)。您很少寻找像您建议的特定记录。

如果您正在寻找更实时的访问平台,一旦您完成了对Hadoop的了解,就应该查看HBase

答案 1 :(得分:4)

Hadoop可用于各种各样的问题。从atbrox查看此博客条目。此外,互联网上有很多关于Hadoop和MapReduce的信息,很容易丢失。因此,here是Hadoop上的综合资源列​​表。

BTW,Hadoop - The Definitive Guide 3rd edition将于5月到期。看起来它还包括MRv2(NextGen MapReduce),还包括更多案例研究。第二版值得像orangeoctopus提到的那样。

答案 2 :(得分:0)

MapReduce可能是一个复杂的主题,所以我发现通过将其方法应用于一个简单的问题更容易理解它。然后我继续描述MapReduce如何直接解决集群中的相同问题。您可以在这里查看我的文章:Intro to Parallel Processing with MapReduce

如果您认为本文更容易理解MapReduce和Hadoop,请告诉我。