Procesamiento gráfico en hadoop

Uno de los más emocionantes tecnologías NoSQL emergentes implica el almacenamiento y procesamiento de datos del gráfico. Se podría pensar que esta afirmación no es noticia porque los científicos informáticos han desarrollado técnicas de análisis gráfico durante décadas. Lo que usted dice puede ser cierto, pero lo que es nuevo es que mediante el uso de Hadoop, se puede hacer un análisis gráfico en una gran escala.

Qué son los datos del gráfico?

UN grafico en términos de datos es simplemente una representación de las entidades individuales y sus relaciones. entidades de un gráfico que se conocen como nodos (o vértices), Y las relaciones entre las entidades en una gráfica se conocen como bordes (o conexiones). En representación de los conjuntos de datos en un gráfico, en contraposición a las filas y columnas tradicionales, hace que sea mucho más fácil de procesar sus datos en formas que hacen las relaciones entre los objetos cristalinas. cálculos gráfico típico están representados por la distancia de la trayectoria más corta entre múltiples nodos en el gráfico, o simplemente por el número de nodos tienen conexiones de un cierto tipo a un nodo específico.

Aplicaciones para el análisis gráfico

La aplicación más conocida de las bases de datos del gráfico es el algoritmo PageRank de Google, que calcula las relaciones que unen entre todas las páginas web conocidas. Google representa la web como un gráfico gigante, donde las páginas web son los nodos y los enlaces de una página a otra se representan como bordes. (Google comparte la riqueza mediante la publicación de un artículo que describe su proyecto gráfico de análisis - etiqueta Pre-gel - en 2010.) El procesamiento gráfico que Google estaba interesado en consistió en calcular el número de conexiones de entrada para cada página web.

Facebook hizo un chapoteo significativo en 2013 cuando se anunció que estaba usando Apache Giraph (basado en el papel Pregel), un motor de procesamiento gráfico diseñado para procesar gráficos almacenados en HDFS. Se demostró el poder de Giraph por mostrar un gráfico que representa todos los usuarios de Facebook (más de 1 mil millones) y sus amistades (mil millones!), Que en conjunto tiene más de 1 billón de bordes. Esta escala es asombrosa: Si eres Facebook y lo necesario para hacer cálculos, tales como recomendaciones amigo, ¿qué mejor herramienta para usar que un motor de procesamiento gráfico? No es de extrañar que una base de datos gráfica distribuida se encuentra en el núcleo de cada otro sitio de redes sociales notables, incluyendo Twitter, LinkedIn, OkCupid, y Pinterest.

Un motor de procesamiento gráfico puede responder fácilmente a muchas cuestiones prácticas de los sitios de medios sociales. Dos ejemplos son la forma en LinkedIn muestra los grados de separación entre usted y otro usuario es un cálculo de la ruta más corta (¿cuál es la relación más estrecha entre dos nodos?) Y cómo OkCupid muestra a los usuarios con intereses comunes es un conjunto de cálculos de filtrado colaborativo (¿cuáles son los más conexiones comunes a un conjunto específico de nodos?).

Video: Map Reduce - 1. Introduccion a Procesamiento Distribuido

Análisis del gráfico en Hadoop

A partir de primavera de 2014, el análisis gráfico en Hadoop permanece en sus primeras etapas. Con la llegada de hilo en Hadoop 2, el análisis gráfico y otras técnicas de procesamiento especializados serán cada vez más populares en Hadoop. Muchos de los sitios sociales mencionadas en este artículo usan sus propias bases de datos, el gráfico de propiedad y motores de procesamiento, pero Facebook es un usuario importante de Giraph. Debido a que el sello de Facebook (implícita) de aprobación, Giraph se ha convertido en una opción popular para el análisis gráfico de Hadoop, pero tiene algunas limitaciones. Es únicamente un motor de procesamiento, ya que carga los datos como un gráfico en la memoria del cluster, y está optimizado para las consultas orientado por lotes.

Video: Ejecución de un MapReduce

Otra solución de procesamiento gráfico viene de Aurelio, una empresa que ha publicado un conjunto de herramientas de gráfico de análisis de código abierto para Hadoop. En el núcleo de su oferta es Titan, una base de datos gráfico usando HBase como una capa de persistencia, que está optimizado para las consultas interactivas, y Fauno, un motor de procesamiento gráfico que almacena una instantánea de un gráfico de Titan en HDFS y ejecuta trabajos MapReduce contra ella . Tanto para el interactivo (Titan) y aplicaciones por lotes (Fauno), Aurelio tiene la API gráfica-recorrido común llamado Gremlin.

Finalmente, el proyecto Spark Apache tiene la rama GraphX, que permite la generación de datos del gráfico, y entonces el procesamiento, todo dentro del marco Spark.

Artículos Relacionados