Hadoop擅长分析和处理大型数据集,而MogoDB擅长存储应用程序的大型数据集,这两者结合到一起,就诞生了Mogo-Hadoop——MogoDB主要负责存储和查询,Hadoop主要负责批处理。
Mogo-Hadoop可以很容易地使用Mogo数据库库以及.bso格式的mogoDB备份文件,并将此作为HadoopMap/Reduce任务的数据输入源或者输出目标。Mogo-Hadoop先检测数据并计算数据分割,然后交给Hadoop并行处理,这样非常大的数据集就可以快速被处理。
Mogo-Hadoop支持Pig和Hive,这两个开源项目允许编写非常简单的脚本来执行非常复杂的MapReduce工作流。
Mogo-Hadoop还支持Hadoopstreamig,这样你可以使用Java以及其他任何编程语言来编写map/reduce函数。目前Mogo-Hadoop支持Ruby、Node.js和Pytho中的streamig。
Mogo-Hadoop的工作流程如下:
Mogo-Hadoop首先检查MogoDBCollectio,并计算数据分割每个分割部分被分配到Hadoop集群中的一个节点同时,Hadoop节点从MogoDB(或BSON)获取数据,并进行本地处理Hadoop合并结果,并输出到MogoDB或BSON介绍内容来自iteye










评论