日期:2014-05-16  浏览次数:20443 次

MongoDB集成Hadoop进行统计计算

MongoDB 本身可以做一些简单的统计工作,包括其内置的基于 Javascript 的 MapReduce 框架,也包括在MongoDB 2.2版本中引入的新的统计框架。除此之外,MongoDB 还提供了对外部统计工具的接口,这就是本文要说的MongoDB-Hadoop的数据中间件。文章内容来源于MongoDB官方博客。

原理图解

MongoDB与Hadoop相结合的方式如下图所未,MongoDB作为数据源存储以及数据结果存储。而具体的计算过程在Hadoop中进行。

          

这一套处理流程,允许我们通过 Python, Ruby 与 JavaScript 来写MapReduce函数进行数据统计,而不是使用Java。

例子

首先准备好Hadoop环境,并安装好Hadoop,MongoDB中间件。然后通过下面的方式进行数据处理。

1.数据准备

从Twitter API导入原始数据到MongoDB中

curl https://stream.twitter.com/1/statuses/sample.json -u<login>:<password> | mongoimport -d twitter -c in

2.Map函数