Database
 sql >> Base de données >  >> RDS >> Database

Laissez-vous enflammer par Apache Spark – Partie 2

Merci pour votre temps; J'essaie définitivement de valoriser le vôtre. Dans la partie 1 - nous avons discuté des bibliothèques Apache Spark, des composants Spark tels que Driver, DAG Scheduler, Task Scheduler et Worker. Maintenant, dans la partie 2, nous discuterons des concepts de base de Spark tels que les ensembles de données distribués résilients, les variables partagées, SparkContext, les transformations, l'action et les avantages de l'utilisation de Spark, ainsi que des exemples et quand utiliser Spark.

RDD – Ensembles de données distribués résilients

Ce sont des collections d'éléments sérialisables et une telle collection peut être partitionnée, auquel cas elle est stockée dans plusieurs nœuds.

Il peut résider en mémoire ou sur disque.

Spark utilise RDD pour réduire les E/S et conserver les données traitées en mémoire

RDD aide à tolérer les pannes de nœud et n'a pas besoin de redémarrer l'ensemble du processus ou de l'informatique

Généralement, il est créé à partir du format d'entrée Hadoop ou de la transformation appliquée sur les RDD existants.

Les RDD stockent sa lignée de données ; si des données sont perdues, Spark rejoue le lignage pour reconstruire les RDD perdus.

Les RDD sont immuables.

Variables partagées

Spark a deux types de variables qui permettent de partager des informations entre les nœuds d'exécution.

Deux variables sont des variables de diffusion et d'accumulateur.

Les variables de diffusion sont toutes envoyées aux nœuds d'exécution distants, similaires aux objets de configuration MapReduce.

Les accumulateurs sont également tous envoyés aux nœuds d'exécution distants, avec la limitation que nous ne pouvons ajouter qu'aux variables d'accumulateur, similaires aux compteurs MapReduce.

Déclencher le contexte

C'est un objet qui représente la connexion à un cluster Spark.

Il est utilisé pour créer des RDD, diffuser des données et initialiser des accumulateurs.

Transformations

Ce sont des fonctions qui prennent un RDD et en renvoient un autre.

Les transformations ne modifieront jamais leur entrée, ne renvoient que le RDD modifié.

C'est toujours paresseux, donc ils ne calculent pas leurs résultats. Au lieu d'appeler une fonction de transformation, crée uniquement un nouveau RDD.

L'ensemble des transformations ci-dessus est exécuté lorsqu'une action est appelée.

Il existe de nombreuses transformations dans Spark - map(), filter(), KeyBy(), Join(), groupByKey(), sort().

 Action

Les actions sont des méthodes qui prennent un RDD et effectuent un calcul et renvoient le résultat à l'application du pilote.

L'action déclenche le calcul des transformations, et les résultats peuvent être une collection, des valeurs à l'écran, des valeurs enregistrées dans un fichier.

L'action ne renverra jamais un RDD.

Avantages

  • Simplicité
  • Polyvalence
  • E/S disque réduites
  • Stockage
  • Multilingue
  • Indépendance du gestionnaire de ressources
  • Shell interactif (REPL)

Spark, comme d'autres outils de Big Data, est puissant, capable et bien adapté pour relever un éventail de défis d'analyse et de Big Data.

Cet article a été initialement publié ici. Republié avec autorisation. Soumettez vos réclamations pour atteinte aux droits d'auteur ici.