MongoDB的MapReduce与Hadoop的MapReduce有什么异同点?
-
如题 ,MongoDB的MapReduce与Hadoop的MapReduce有什么异同点?
-
因为对Hadoop的MapReduce不是十分熟悉,没有办法给出比较。但原理上都是差不多的。出于性能考虑我们一般更推荐Aggregation或者使用Spark Connector连接到Spark进行相关计算。
-
- Hadoop's MR can be written in Java, while MongoDB's is in JavaScript.
- Hadoop's MR is capable of utilizing all cores, while MongoDB's is single threaded.
- Hadoop MR will not be collocated with the data, while Mongo DB's will be collocated.
- Hadoop MR has millions of engine/hours and can cope with many corner cases with massive size of output, data skews, etc
- There are higher level frameworks like Pig, Hive, Cascading built on top of the Hadoop MR engine.
- Hadoop MR is mainstream and a lot of community support is available.
-
那 Spark + MongoDB vs Hadoop 的比較呢?
-
Spark是内存分布式计算,论计算速度比Hadoop快许多。
Spark本身也有MR,如果单纯比较MR,这样比较是不是比较好:Spark的MR VS MongoDB 的 MR VS Hadoop的MR。
-
本帖下載内容已隐藏,请登入以查看隐藏内容!從表格中可以看出排序100TB的資料(1萬億條數據),
Spark只用了Hadoop所用1/10的計算資源,耗時只有Hadoop的1/3我們知道MongoDB可以用來做我們海量運價資料的存儲方案,在大規模平行計算方案上,就可以用到Spark技術。
對那些已經使用MongoDB的用戶,如果你希望在你的MongoDB驅動的應用上提供個性化功能,比如說像Yahoo一樣為你找
感興趣的新聞,能夠在你的MongoDB資料上利用到Spark強大的機器學習或者流處理,你就可以考慮在MongoDB集群上部署
Spark來實現這些功能。如果你已經使用Hadoop而且資料已經在HDFS裡面,你可以考慮使用Spark來實現更加即時更加快速
的分析型需求,並且如果你的分析結果有資料量大、格式多變以及這些結果資料要及時提供給前臺APP使用的需求,那麼
MongoDB可以用來作為你分析結果的一個存儲方案。