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.

Actian y la plataforma de inteligencia de datos

Actian Data Intelligence Platform está diseñada para ayudar a las organizaciones a unificar, gestionar y comprender sus datos en entornos híbridos. Reúne la gestión de metadatos, la gobernanza, el linaje, la supervisión de la calidad y la automatización en una única plataforma. Esto permite a los equipos ver de dónde proceden los datos, cómo se utilizan y si cumplen los requisitos internos y externos.

A través de su interfaz centralizada, Actian permite conocer en tiempo real las estructuras y flujos de datos, lo que facilita la aplicación de políticas, la resolución de problemas y la colaboración entre departamentos. La plataforma también ayuda a conectar los datos con el contexto empresarial, lo que permite a los equipos utilizar los datos de forma más eficaz y responsable. La plataforma de Actian está diseñada para escalar con ecosistemas de datos en evolución, apoyando un uso de datos consistente, inteligente y seguro en toda la empresa. Solicite su demostración personalizada.

*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.

Preguntas frecuentes

Un conjunto de datos distribuido y resistente (RDD) es una colección distribuida e inmutable de objetos repartidos entre los nodos de Apache Spark, que puede procesarse en paralelo en un clúster de ordenadores y está diseñada para ser tolerante a fallos.

Los RDD ofrecen un marco sólido para el procesamiento distribuido de datos, con capacidades integradas como la tolerancia a fallos, el procesamiento paralelo y la flexibilidad para gestionar diversos tipos de datos, lo que los convierte en la columna vertebral de muchas aplicaciones empresariales y cargas de trabajo de aprendizaje automático.

Los RDD están diseñados para recuperarse automáticamente de los fallos de los nodos, lo que garantiza un procesamiento fiable de grandes conjuntos de datos en sistemas distribuidos.

Las RDD se utilizan en el análisis de streaming de vídeo para la elaboración de informes de uso, en sistemas de predicción de congestión que analizan datos de GPS y en proyectos de clasificación de spam en redes sociales, como la identificación de spam en los enlaces de los mensajes de Twitter.

Los RDD admiten operaciones como la devolución de uniones con otros RDD, la agregación de elementos entre particiones, la persistencia de datos, el filtrado de elementos, las funciones de mapeo, el recuento de elementos y el guardado de resultados como archivos de texto.

Los RDD se implementan a través del sistema Spark para dar soporte a algoritmos iterativos y herramientas interactivas de minería de datos, ofreciendo una API de bajo nivel con transformaciones y acciones que pueden ejecutarse en paralelo.

Sí, los RDD incluyen funciones integradas para almacenar datos de forma permanente, lo que permite cargar los datos filtrados o transformados una sola vez y reutilizarlos en múltiples operaciones para mejorar la eficiencia.