什么是最容易使用的分布式地图缩减编程系统?
例如。在包含许多用户的分布式数据存储中,每个用户都有许多连接,比方说我想计算连接总数:
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 :(得分:2)
好吧,我会匆匆提出一些建议,但你的问题不太清楚。
那么你如何存储你的数据?存储机制与将MapReduce算法应用于数据的方式分开。我假设你正在使用Hadoop Distributed File System。
您说明的问题实际上与典型的Hadoop MapReduce word count example非常相似。而不是单词,而只是计算用户。
将MapReduce应用于存储在HDFS上的数据的一些选项是:
哪个最简单?
那么一切都取决于你感觉舒服的东西。如果知道Java,请看一下标准的Java框架。如果您习惯使用脚本语言,则可以使用Pig或流式传输。如果您了解SQL,可以查看使用Hive QL查询HDFS。我会看一下每个文档的起点。