MapReduce和SQL GROUP BY

Aaf*_*ikh 9 hadoop group-by mapreduce mongodb

我一直试图理解MongoDB中MapReduce的基础知识,甚至在实现它之后,我不确定它与SQL的GROUP BY甚至是Mongo自己的GROUP BY有什么不同.在SQL Server中,GROUP BY可以通过流或散列聚合完成.MapReduce是不是类似于哈希聚合,只是在大量的服务器上?

我一直在阅读MongoDB的MR将作为后台进程运行的地方,因为它是一个"繁重的操作".鉴于数据是分片的,GROUP BY不会同样"重"吗?也就是说,我只是想比较那些可以作为MR作业或使用GROUP BY查询实现的操作类型.

是否有GROUP BY不能做的事情,只有MR可以做?

此外,Hadoop似乎非常擅长MR(这只是我读过的内容......我从来没有在Hadoop上工作过).Hadoop的MR与Mongo的MR有何不同?

我糊涂了.请帮助或指导我一个解释MapReduce需求的好教程.

Ms0*_*s01 8

你使用MR获得的是速度.GROUP BY在SQL中是一个缓慢的操作,在MongoDB中MR甚至更慢.但你所做的是创建新的集合并实时迭代它们.当您拥有大量数据并希望能够实时迭代数据时,这非常好.

在我正在研究的项目中,有一个在后台运行的Python脚本(cron job),每天做一次不同的map/reduce.我们不是使用SQL group by迭代大型表,而是使用MR迭代一次,然后快速迭代创建的新集合.

我没有Hadoop的经验.所以我很抱歉,我不能告诉你那里.

教程:http: //www.mongovue.com/2010/11/03/yet-another-mongodb-map-reduce-tutorial/

编辑:

在这里,您可以看到SQL查询到MongoDB Map/Reduce的完整翻译: GROUP BY到MongoDB Map/Reduce 它来自:http://rickosborne.org/download/SQL-to-MongoDB.pdf