Mongo-Hadoop 1.1发布,利用Hadoop并行处理MongoDB中的大数据
程序员文章站
2022-03-03 18:26:49
...
Hadoop擅长分析和处理大型数据集,而MongoDB擅长存储应用程序的大型数据集,这两者结合到一起,就诞生了Mongo-Hadoop——MongoDB主要负责存储和查询,Hadoop主要负责批处理。
今天Mongo开发团队发布了Mongo-Hadoop 1.1版本。
项目地址:https://github.com/mongodb/mongo-hadoop
Mongo-Hadoop可以很容易地使用Mongo数据库库以及.bson格式的mongoDB备份文件,并将此作为Hadoop Map/Reduce任务的数据输入源或者输出目标。Mongo-Hadoop先检测数据并计算数据分割,然后交给Hadoop并行处理,这样非常大的数据集就可以快速被处理。
Mongo-Hadoop支持Pig和Hive,这两个开源项目允许编写非常简单的脚本来执行非常复杂的MapReduce工作流。
Mongo-Hadoop还支持Hadoop streaming,这样你可以使用Java以及其他任何编程语言来编写map/reduce函数。目前Mongo-Hadoop支持Ruby、Node.js和Python中的streaming。
Mongo-Hadoop的工作流程如下:
今天Mongo开发团队发布了Mongo-Hadoop 1.1版本。
项目地址:https://github.com/mongodb/mongo-hadoop
Mongo-Hadoop可以很容易地使用Mongo数据库库以及.bson格式的mongoDB备份文件,并将此作为Hadoop Map/Reduce任务的数据输入源或者输出目标。Mongo-Hadoop先检测数据并计算数据分割,然后交给Hadoop并行处理,这样非常大的数据集就可以快速被处理。
Mongo-Hadoop支持Pig和Hive,这两个开源项目允许编写非常简单的脚本来执行非常复杂的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