2012-01-12 59 views
8

好吧,我正在尝试学习Hadoop和mapreduce。我真的想从mapreduce开始,我发现很多很多简化的mappers和reducer的例子等等。但是,我发现我错过了一些东西。虽然一个例子显示文档中出现了多少次单词,但很容易理解,它并不能真正帮助我解决任何“现实世界”问题。有没有人知道在逼真的情况下实现mapreduce的好教程。比方说,我想在类似于Adventureworks的数据存储上使用hadoop和mapreduce。现在我想在五月份获得给定产品的订单。从hadoop/mapreduce的角度来看,这将如何? (我意识到这可能不是mapreduce打算解决的问题类型,但是,它只是想到了很快。)Mapreduce for dumbmies

任何方向都会有所帮助。

回答

13

该书Hadoop: The Definitive Guide是一个很好的开始。介绍性的章节应该对你非常有用,以确定MapReduce的用处以及何时使用它。更高级的章节比字数有更多更实际的例子。

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


为了您的具体的例子,要实现的主要事情是:

  • map阶段主要是为解析,转换数据,并过滤掉数据。考虑记录,无共享的方法来记录处理。在字数统计中,这是解析该行并分离出单词。
  • 缩小阶段全部是关于聚合:计数,平均,最小/最大等。在字数统计中,这是计数字的实例。

因此,如果您希望在5月的某个给定产品中使用所有记录,则可以使用纯地图作业来过滤所有数据,并只保留所需的记录。但是,您应该了解Hadoop的用途。更适合Hadoop的问题将会是:给我一个每月购买每件产品的次数(或许可以构建一个矩阵)。你很少正在寻找像你所建议的特定记录。

如果您正在寻找一个更实时的访问平台,您应该在完成了解Hadoop的学习后检查HBase

+0

杰出!非常感谢! – RockyMountainHigh 2012-01-12 19:58:20

+4

“我希望看到除字数外的更多示例”是新人们常见的问题,不幸的是,最好的解释是印刷版。 – 2012-01-12 20:07:47

4

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

顺便说一句,Hadoop - The Definitive Guide 3rd edition将于5月份到期。看起来它也包含MRv2(NextGen MapReduce),还包括更多的案例研究。第二版是值得的,由orangeoctopus提到。

+0

破损的链接.... – UpTheCreek 2012-07-30 18:51:11

+0

更新谢谢你 – 2012-07-31 00:45:20

0

MapReduce可能是一个复杂的主题,所以我发现通过将其方法应用于一个简单的问题可以更容易地理解它。然后,我继续介绍MapReduce如何使解决群集中的相同问题变得简单。你可以看看我的文章:Intro to Parallel Processing with MapReduce

让我知道你是否认为这篇文章能够更容易理解MapReduce和Hadoop。