¿Qué es Spark GraphX en Apache Spark?

| Última modificación: 17 de mayo de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Spark GraphX en Apache Spark es uno de los componentes más importantes en la manipulación del Big Data por parte de este sistema de computación. De manera que conocer este tipo de desenvolvimiento a nivel interno es de suma importancia por parte del procesamiento Big Data.

Es más, este es uno de los seis fundamentos de Apache Spark que llevan a cabo el flujo de los datos durante el análisis de estos. Por este motivo, en este post te exponemos qué es Spark GraphX en Apache Spark.

¿Qué es Apache Spark?

Antes de exponerte qué es Spark GraphX en Apache Spark, debes recordar que Apache Spark es un sistema de computación basado en Hadoop Map Reduce. De manera que las tareas de este sistema consisten en permitir dividir y paralelizar los jobs para que estos trabajen con los datos de forma distribuida.

Por otra parte, uno de los aspectos más importantes referentes a Apache Spark es que proporciona distintas APIs (Interfaz de programación de aplicaciones) para funcionar como Core, SQL, Streaming, Graph, Machine Learning. De igual forma, Spark es un multilenguaje que se puede desarrollar en lenguajes de programación como Scala, Java, Lenguaje JVM (Máquina virtual Java), Python o R.

6 fundamentos de Spark Stack 2
apache spark graphx

¿Qué es Spark GraphX en Apache Spark?

Spark GraphX en Apache Spark proporciona el procesamiento de grafos distribuidos dentro de la arquitectura de este sistema de computación. Para ello, debes saber que un grafo se compone de vertex y edge.

En efecto, este es uno de los fundamentos de Spark Stack, ya que te permite trabajar con estas herramientas para la creación de grafos distribuidos:

  • Vértices: estos son, literalmente, los vértices existentes, es decir, las propiedades que se establecen como un punto de inflexión en los grafos.
  • Edgeshacen referencia a las relaciones existentes. Se muestran como las relaciones entre un vértice y otro según los datos procesados.
  • Triplets: se conoce así a la relación entre dos vértices y su edge.
Spark GraphX en Apache Spark
graphx python

Como podrás notar en el gráfico anteior, estos fundamentos no son más que la representación visual de un procesamiento de los datos. De manera que, para emplearlo, tan solo debes tener en cuenta qué tablas utilizar y cuáles son las relaciones que planeas establecer al respecto.

Ejemplo: vértices y edges

Por ejemplo, en esta imagen que te mostramos a continuación se observa cómo se refleja una relación entre Franklin (profesor) e Istoica (profesora), de manera que cada uno de ellos es un vértice y el colleague es una relación entre ellos (edge).

La siguiente ilustración que te compartimos ilustra este ejemplo sobre cómo funciona la distribución de los grafos una vez se asignan valores a estas propiedades:

spark graph

Algoritmos de Spark GraphX en Apache Spark

Por otra parte, Spark GraphX en Apache Spark te proporciona una serie de algoritmos para trabajar durante el procesamiento de los grafos distribuidos. Dentro de ellos, podrás contar con: Rango de página (PageRank), Componentes conectados (Connected Components) y Conteo de triángulo (Triangle Counting).

Cada uno de ellos se presenta como un tipo de relación entre los grafos distribuidos, de manera que se crean unas formas específicas. A continuación, te compartimos cada uno de ellos con más detalle:

  • Rango de página (RageRank): este primer algoritmo se encarga de medir la importancia de cada vértice (vertex) en el grafo. De manera que se pone en consideración el número de relaciones que tiene cada vértice, sin importar que sean directas o indirectas.
  • Componentes conectados (Connected Components): por medio de este algoritmo se obtienen los componentes conectados.
  • Conteo de triángulo (Triangle Counting): con el uso de este algoritmo podrás obtener los componentes que están conectados y, con dicha conexión, se crea un triángulo.

Ahora que sabes qué es Spark GraphX en Apache Spark dentro del mundo del procesamiento Big Data, resulta indispensable llevar a cabo este servicio a la práctica en tus estudios de la información. De manera que te recordamos que aún queda mucho más por aprender sobre el manejo del Big Data.

Desde KeepCodging, te traemos el Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning, gracias al que podrás aprender mucho más sobre este servicio de Google y, en general, sobre los sistemas y herramientas más importantes en el universo del Big Data. De la mano de profesionales y en menos de nueve meses, te podrás convertir en todo un experto y conocer e identificar las alternativas de gestión de datos más apropiadas para los estudios de los macrodatos. ¿A qué estás esperando para empezar? ¡No dudes en solicitar más información e inscríbete ahora!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado