MongoDB Hadoop Connector -


Apache
跨平台
Scala

软件简介

Hadoop擅长分析和处理大型数据集,而MongoDB擅长存储应用程序的大型数据集,这两者结合到一起,就诞生了Mongo-
Hadoop——MongoDB主要负责存储和查询,Hadoop主要负责批处理。

Mongo-Hadoop可以很容易地使用Mongo数据库库以及.bson格式的mongoDB备份文件,并将此作为Hadoop
Map/Reduce任务的数据输入源或者输出目标。Mongo-Hadoop先检测数据并计算数据分割,然后交给Hadoop并行处理,这样非常大的数
据集就可以快速被处理。

Mongo-
Hadoop支持PigHive,这两个开源项目允许编写非常简单的脚本来执行非常复杂的MapReduce工作流。

Mongo-Hadoop还支持Hadoop streaming,这样你可以使用Java以及其他任何编程语言来编写map/reduce函数。目前Mongo-
Hadoop支持Ruby、Node.js和Python中的streaming。

Mongo-Hadoop的工作流程如下:

  • Mongo-Hadoop首先检查MongoDB Collection,并计算数据分割
  • 每个分割部分被分配到Hadoop集群中的一个节点
  • 同时,Hadoop节点从MongoDB(或BSON)获取数据,并进行本地处理
  • Hadoop合并结果,并输出到MongoDB或BSON

介绍内容来自 iteye