jeu de données distribué et résilient

Femme souriante tenant une tablette, équipe discutant d'un jeu de données distribué et résilient.

Le projet open-source Apache Spark utilise une structureRDDResilient Distributed jeu de données ). Il s'agit d'une collection distribuée immuable d'objets répartis entre les nœuds. Le RDD peut être traité en parallèle sur une grappe d'ordinateurs et est conçu pour être tolérant aux pannes, ce qui signifie qu'il peut se rétablir automatiquement en cas de défaillance d'un nœud. Les RDD peuvent être exploités en parallèle à l'aide d'une interface de programmation d'applications (API) de bas niveau qui propose des transformations et des actions.

Pourquoi un jeu de données distribué et résilient est-il important ?

Les ensembles de données distribués résilients sont essentiels car ils fournissent un cadre robuste pour le traitement des données distribuées avec des capacités intégrées telles que la tolérance aux pannes, le traitement parallèle et la flexibilité dans le traitement de différents types de données. Ils constituent l'épine dorsale de nombreuses applications d'entreprise et de charges de travail de ML qui nécessitent un traitement fiable et efficace de grands ensembles de données.

Applications pour les ensembles de données distribuées résilientes

Les RDD sont présentés à travers le système Spark pour support algorithmes itératifs et interactifs. exploration de données interactifs. Vous trouverez ci-dessous quelques exemples d'utilisation des RDD dans le monde réel*.

Analyse de la Streaming vidéo Streaming

Une société de streaming vidéo a utilisé un RDD pour fournir des analyses d'utilisation. Les requêtes des clients étaient chargées sous forme de sous-ensembles de données groupées correspondant aux critères de recherche nécessaires pour fournir des agrégations telles que les moyennes, les percentiles et les fonctions COUNT DISTINCT. Les données filtrées ont été chargées une seule fois dans un RDD afin que la transformation puisse être appliquée à l'ensemble du RDD.

Prévision de l'encombrement

Une étude de l'Université de Californie - Berkley a utilisé un RDD pour paralléliser un algorithme d'apprentissage permettant de déduire la congestion du trafic routier à partir de mesures GPS automobiles sporadiques. À l'aide d'un modèle de trafic, le système peut estimer l'encombrement en déduisant le temps de trajet prévu sur les différentes liaisons routières.

réseaux sociaux Classification des spams

Le projet Monarch à Berkeley a utilisé Spark pour identifier les spams de liens dans les messages Twitter. Ils ont mis en œuvre un classificateur de régression logistique sur Spark en utilisant reduceByKey pour additionner les vecteurs de gradient en parallèle sur le cluster Spark.

Fonctions intégrées de RDD

Voici un exemple des types de fonctions disponibles pour les données chargées dans un RDD:

  • Retourne l'union de ce RDD et d'un autre.
  • Agréger les éléments de chaque partition puis les résultats de toutes les partitions.
  • Persister ce RDD.
  • Renvoie le produit cartésien de ce RDD.
  • Renvoie un tableau contenant tous les éléments de ce RDD.
  • La date et l'heure de création du RDD .
  • Renvoie le nombre d'éléments dans le RDD.
  • Renvoie le nombre de chaque valeur unique dans ce RDD sous la forme d'une carte de paires (valeur, nombre).
  • Renvoie un nouveau RDD contenant les éléments distincts de ce RDD.
  • Renvoie un nouveau RDD contenant uniquement les éléments qui satisfont un prédicat.
  • Renvoie le premier élément de ce RDD.
  • Agréger les éléments de chaque partition puis les résultats de toutes les partitions.
  • Renvoie un RDD d'éléments groupés.
  • La méthode interne à ce RDD lira le cache, le cas échéant, ou le calculera.
  • Renvoie un nouveau RDD en appliquant une fonction à tous les éléments de ce RDD.
  • Renvoie un nouveau RDD en appliquant une fonction à chaque partition de ce RDD.
  • Renvoie un sous-ensemble échantillonné de ce RDD.
  • Enregistrez ce RDD sous la forme d'un fichier texte en utilisant des représentations sous forme de chaînes de caractères des éléments.
  • Renvoie un tableau contenant tous les éléments de ce RDD.
  • Retourne l'union de ce RDD et d'un autre.

Utilisation des RDD avec la plateforme de données Actian

La plateforme de données Actian utilise des RDD via le connecteur Spark intégré. La base de données vectorielle peut accéder aux données dans l'un des plus de 50 formats fournis par le connecteur Spark. Les données dans des formats tels que PARQ et ORC sont accessibles en tant que tables externes. Les prédicats peuvent être poussés vers le bas dans les tables externes pour fournir un accès sélectif.

*Source : Ensemble de données distribuées résilientes: Une abstraction tolérante aux pannes pour l'informatique in-memory grappe in-memory . Ingénierie électrique et sciences informatiques Université de Californie à Berkeley.