新手在这里使用Hadoop。从概念上讲,理解起来非常简单,然而,真正的挑战之一是如何在map-reduce架构中对要解决的问题进行建模。假设我的数据包含两部分(全部在oracle中): 相反,静态数据并没有太大变化 2.每天收集的新鲜数据。
目前数据处理基本上是读取新数据,查找并使用相应的静态数据(或元数据)并在其上应用一些算法并将其转储回Oracle。
如何为这种应用范例建模?我是否将静态数据保存/存储为分布式缓存的一部分?如果那些数据很大怎么办?
基本上我正在寻找更多如下例子: http://stevekrenzel.com/finding-friends-with-mapreduce
谢谢,
答案 0 :(得分:4)
基本上要求是在两个数据集上进行连接。 MapReduce编程需要与普通编程不同的思维方式。以下是一些关于连接的参考以及MapReduce
之上的其他一些模式回归加入,可以根据数据量和数据方式采用多种方式。以上参考文献有更多相同内容。
答案 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作业,而不必担心太多关于会发生什么。