MongoDB Connector for Hadoop: MongoDB y Hadoop uniendo fuerzas!

El MongoDB Connector for Hadoop es un plugin de Hadoop que permite usar MongoDB como fuente de entrada o como destino de salida.

Poder usar MongoDB+Hadoop es una combinación muy potente ya que nos permite usarlos juntos para hacer procesamiento de datos y analíticas sobre datos almacenados en MongoDB.

El conector funciona con prácticamente todas las versiones de Hadoop (incluidas CDH4 y CDH5), para usarlo basta con compilar el conector que está en GitHub para la distribución correspondiente:

Y copiar el JAR generado (mongo-hadoop-core-X.X.jar) y el driver de MongoDB para Java a la instalación de Hadoop, algo como:

(leer instrucciones en https://github.com/mongodb/mongo-hadoop )

En GitHub hay diversos ejemplos de uso, por ejemplo este ejemplo MapReduce que descarga el cuerpo de los mails y los importa en MongoDB.

A un conjunto de 517425 mails con este formato, cada uno con un mail diferente:

Le aplicamos el proceso map:

Que extrae el campo headers de cada documento, parsea el campo From y el campo To para construir un objeto MailPair emitiendo el valor 1 para cada clave.

Luego con el reduce:

Sumamos el número de ocurrencias para cada par From-To

Mañana más sobre este interesante plugin!!!

Deja un comentario