Conjunto de datos distribuido y resistente

Mujer sonriente sosteniendo una tableta, equipo discutiendo sobre un conjunto de datos distribuidos resistentes.

El proyecto de código abierto Apache Spark utiliza una estructura de conjunto de datos distribuidos resistente (RDD). Se trata de una colección distribuida inmutable de objetos divididos en nodos. Los RDD pueden procesarse en paralelo en un clúster de ordenadores y están diseñados para ser tolerantes a fallos, lo que significa que pueden recuperarse automáticamente de los fallos de los nodos. Los RDD pueden funcionar en paralelo con una interfaz de programación de aplicaciones (API) de bajo nivel que ofrece transformaciones y acciones.

¿Por qué es importante un conjunto de datos distribuido y resistente?

Los conjuntos de datos distribuidos resistentes son fundamentales porque proporcionan un marco robusto para el procesamiento de datos distribuidos con capacidades integradas como la tolerancia a fallos, el procesamiento paralelo y la flexibilidad en el manejo de varios tipos de datos. Constituyen la columna vertebral de muchas aplicaciones empresariales y cargas de trabajo de ML que requieren un procesamiento fiable y eficiente de grandes conjuntos de datos.

Aplicaciones para conjuntos de datos distribuidos resistentes

Los RDD se presentan a través del sistema Spark para soportar algoritmos iterativos y herramientas interactivas de minería de datos. A continuación se muestran algunos ejemplos de cómo se utilizan los RDD en el mundo real*.

Análisis de secuencias de vídeo

Una empresa de streaming de vídeo utilizó un RDD para proporcionar análisis de uso. Las consultas de los clientes se cargaban como subconjuntos de datos agrupados que coincidían con los criterios de búsqueda necesarios para proporcionar agregaciones como promedios, percentiles y funciones COUNT DISTINCT. Los datos filtrados se cargaban una vez en un RDD para poder aplicar la transformación a todo el RDD.

Predicción de la congestión

Un estudio de la Universidad de California - Berkley utilizó un RDD para paralelizar un algoritmo de aprendizaje destinado a deducir la congestión del tráfico por carretera a partir de mediciones GPS esporádicas de automóviles. Utilizando un modelo de tráfico, el sistema puede estimar la congestión deduciendo el tiempo previsto de viaje a través de enlaces de carretera individuales.

Clasificación del spam en las redes sociales

El proyecto Monarch de Berkeley utilizó Spark para identificar spam de enlaces en mensajes de Twitter. Implementaron un clasificador de regresión logística sobre Spark utilizando reduceByKey para sumar los vectores de gradiente en paralelo en el clúster de Spark.

Funciones incorporadas de RDD

A continuación se ofrece una muestra de los tipos de funciones disponibles para los datos cargados en un RDD:

  • Devuelve la unión de este RDD y otro.
  • Agregue los elementos de cada partición y, a continuación, los resultados de todas las particiones.
  • Persiste este RDD.
  • Devuelve el producto cartesiano de este RDD.
  • Devuelve un array que contiene todos los elementos de este RDD.
  • La fecha y hora de creación del RDD.
  • Devuelve el número de elementos del RDD.
  • Devuelve el recuento de cada valor único en este RDD como un mapa de pares (valor, recuento).
  • Devuelve un nuevo RDD que contiene los elementos distintos de este RDD.
  • Devuelve un nuevo RDD que contiene sólo los elementos que satisfacen un predicado.
  • Devuelve el primer elemento de este RDD.
  • Agregue los elementos de cada partición y, a continuación, los resultados de todas las particiones.
  • Devuelve un RDD de elementos agrupados.
  • El método interno de este RDD lo leerá de la caché si procede o, de lo contrario, lo calculará.
  • Devuelve un nuevo RDD aplicando una función a todos los elementos de este RDD.
  • Devuelve un nuevo RDD aplicando una función a cada partición de este RDD.
  • Devuelve un subconjunto muestreado de este RDD.
  • Guarde este RDD como un archivo de texto utilizando representaciones de cadena de los elementos.
  • Devuelve un array que contiene todos los elementos de este RDD.
  • Devuelve la unión de este RDD y otro.

Uso de RDDs con Actian Data Platform

La Plataforma de Datos Actian utiliza RDDs a través del conector Spark incorporado. La base de datos vectorial puede acceder a datos en cualquiera de los más de 50 formatos que proporciona el conector Spark. Los datos en formatos como PARQ y ORC se acceden como tablas externas. Los predicados pueden introducirse en tablas externas para proporcionar un acceso selectivo.

*Fuente: Conjuntos de datos distribuidos resistentes: Una abstracción tolerante a fallos para la computación en clúster en memoria. Electrical Engineering and Computer Sciences University of California at Berkeley.