现实世界中的hadoop用例

时间:2013-01-25 20:26:40

标签: hadoop

新手在这里使用Hadoop。从概念上讲,理解起来非常简单,然而,真正的挑战之一是如何在map-reduce架构中对要解决的问题进行建模。假设我的数据包含两部分(全部在oracle中):     相反,静态数据并没有太大变化     2.每天收集的新鲜数据。

目前数据处理基本上是读取新数据,查找并使用相应的静态数据(或元数据)并在其上应用一些算法并将其转储回Oracle。

如何为这种应用范例建模?我是否将静态数据保存/存储为分布式缓存的一部分?如果那些数据很大怎么办?

基本上我正在寻找更多如下例子: http://stevekrenzel.com/finding-friends-with-mapreduce

谢谢,

3 个答案:

答案 0 :(得分:4)

基本上要求是在两个数据集上进行连接。 MapReduce编程需要与普通编程不同的思维方式。以下是一些关于连接的参考以及MapReduce

之上的其他一些模式
  1. Data-Intensive Text Processing with MapReduce

  2. MapReduce Design Patterns

  3. Hadoop - The Definitive Guide

  4. 中的第8.3节

    回归加入,可以根据数据量和数据方式采用多种方式。以上参考文献有更多相同内容。

答案 1 :(得分:2)

我们在这里收集现实生活中的用例:http://hadoopilluminated.com/hadoop_book/Hadoop_Use_Cases.html

我们已经很好地覆盖了多个域,并将继续添加它。

(免责声明:我是这本免费的hadoop书的合着者)

答案 2 :(得分:1)

我会看下面的article about Map/Reduce patterns,它可以让你对Map / Reduce世界中的常见算法及其翻译有所了解。

更一般地说,我不认为将问题转化为一组Map / Reduce是一个神奇的公式,你必须问自己从数据集到数据集的问题,查看现有的例子是件好事,并且你一定要尝试在玩具问题上实施一些东西。

此外,如果您在将问题抽象为一组Map / Reduce作业时遇到问题,您还可以使用例如Hive,它可以像关系数据库一样进行一些调整,并为您生成Map / Reduce作业,而不必担心太多关于会发生什么。