简介
mongo-hadoop是用于Hadoop的MongoDB连接器是一个库,该库允许将MongoDB(或其数据格式的备份文件,BSON)用作Hadoop MapReduce任务的输入源或输出目标。它旨在提供更大的灵活性和性能,并使MongoDB中的数据与Hadoop生态系统的其他部分轻松集成。
下载地址:https://github.com/mongodb/mongo-hadoop 跳转→
特点:
- 可以创建数据拆分以读取独立配置,副本集或分片配置
- 可以使用MongoDB查询语言通过查询过滤源数据
- 支持Hadoop流,以允许以任何语言(当前支持python,ruby,nodejs)编写作业代码
- 可以从S3,HDFS或本地文件系统上驻留的MongoDB备份文件中读取数据
- 可以以.bson格式写出数据,然后可以使用mongorestore命令将其导入到任何MongoDB数据库中
- 与其他Hadoop工具(例如Pig和Hive)中的 BSON / MongoDB文档一起使用。
使用要求
Hadoop 1.X:1.2
Hadoop 2.X:2.4
Hive:1.1
Pig:0.11
Spark:1.4
MongoDB:2.2
依存关系
您必须至少安装MongoDB Java驱动程序3.0.0版 才能使用Hadoop连接器。(mongodb-driver-3.0.0 以上)
使用方法
Building
运行./gradlew jar
命令进行编译,创建 jar 包。编译完成后会在core/build/libs目录下生成Jar包。
将生成的 jar 包与java连接mongo的驱动一起复制到hadoop集群中每个节点上的lib目录中。这通常是以下目录之一,取决于hadoop版本:
$HADOOP_PREFIX/lib/
$HADOOP_PREFIX/share/hadoop/mapreduce/
$HADOOP_PREFIX/share/hadoop/lib/