2010-02-17 36 views
0

什么是最简单的使用分布式地图减少编程系统?什么是最简单的使用分布式地图缩减编程系统?

例如。在分布式数据存储包含许多用户,每个用户有很多连接,说我想算的连接总数:

Map: 
for all records of type "user" 
do for each user 
    count number of connections 
    retrun connection_count_for_one_user 

Reduce: 
reduce (connection_count_for_one_user) 
    total_connections += connection_count_for_one_user 

是否有任何的MapReduce系统,让我计划用这种方式?

+0

就像现在一样,你的问题没有意义。 – leeeroy 2010-02-17 17:18:30

+0

谢谢Leeroy。我试图让它现在更清楚。好点吗?或者我能做些什么来改善它? – Zubair 2010-02-17 17:28:50

回答

2

那么我会采取一些建议,但你的问题不太清楚。

那么你如何存储你的数据?存储机制与将MapReduce算法应用于数据的方式分开。我假设你正在使用Hadoop Distributed File System

您说明的问题实际上看起来与典型的Hadoop MapReduce word count example非常相似。相反,你只是计数用户。

你们中有些人有选项的MapReduce应用对存储在HDFS的数据是:

  • Java framework - 如果好,你是舒适与Java。
  • Pig - 高级脚本语言。
  • Hive - Hadoop的数据仓库解决方案,提供SQL接口。
  • Hadoop streaming - 允许您使用几乎任何语言编写mappers和reducer。

哪个最简单?

那么这一切都取决于你感觉舒适。如果知道Java看看标准的Java框架。如果您习惯使用脚本语言,则可以使用Pig或流媒体。如果你知道SQL,你可以看看使用Hive QL来查询HDFS。我会以每个文档为起点。

+0

好的,谢谢,我会看看这些 – Zubair 2010-02-19 08:23:55

+0

蜂巢和猪​​看起来很有希望! – Zubair 2010-02-19 08:26:07

相关问题