Présentation des composants Spark

Imaginez que vous avez 1000 tâches à accomplir et très peu de temps pour toutes les terminer. Quelqu'un vous offre de l'aide en fournissant des ressources qui peuvent prendre certaines tâches de votre main et les faire en parallèle avec vous afin que toutes les tâches soient terminées à temps. Que quelqu'un est Spark pour vous dans un sens informatique. Apache Spark est un cadre informatique de cluster distribué et open source pour le Big Data et fournit une approche optimisée pour effectuer des analyses sur de grands ensembles de données. Il fonctionne 100 fois plus rapidement que Hadoop et fournit différentes bibliothèques à des fins différentes comme effectuer des opérations SQL, ML, Streaming, traitement de graphiques, etc. Ci-dessous, nous verrons en détail les différents composants de spark.

Principaux composants de Spark

Actuellement, nous avons 6 composants dans Spark Ecosystem qui sont Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​et SparkR. Voyons ce que font chacun de ces composants.

1. Spark Core

Spark Core est, comme son nom l'indique, l'unité centrale d'un processus Spark. Il prend en charge la planification des tâches, la récupération des pannes, la gestion de la mémoire et les opérations d'entrée-sortie, etc. Considérez-le comme quelque chose de similaire au processeur d'un ordinateur. Il prend en charge les langages de programmation tels que Java, Scala, Python et R et fournit des API pour les langages respectifs à l'aide desquels vous pouvez créer votre travail ETL ou effectuer des analyses. Tous les autres composants de Spark ont ​​leurs propres API qui sont construites sur Spark Core. En raison de ses capacités de traitement parallèle et de son calcul en mémoire, Spark peut gérer tout type de charge de travail.

Spark Core est livré avec un type spécial de structure de données appelé RDD (Resilient Distributed Dataset) qui distribue les données sur tous les nœuds d'un cluster. Les RDD fonctionnent sur un paradigme d'évaluation paresseux où le calcul est mémorisé et exécuté uniquement lorsque cela est nécessaire. Cela permet d'optimiser le processus en calculant uniquement les objets nécessaires.

2. Spark SQL

Si vous avez travaillé avec des bases de données, vous comprenez l'importance de SQL. Ne serait-il pas extrêmement écrasant si le même code SQL fonctionne N fois plus rapidement, même sur un ensemble de données plus important? Spark SQL vous aide à manipuler des données sur Spark à l'aide de SQL. Il prend en charge les connexions JDBC et ODBC qui établissent une relation entre les objets Java et les bases de données existantes, les entrepôts de données et les outils de Business Intelligence. Spark incorpore quelque chose appelé Dataframes qui est une collection structurée de données sous forme de colonnes et de lignes.

Spark vous permet de travailler sur ces données avec SQL. Les trames de données sont équivalentes aux tables relationnelles et peuvent être construites à partir de n'importe quelles bases de données externes, fichiers structurés ou RDD déjà existants. Les trames de données ont toutes les fonctionnalités de RDD telles que immuables, résilientes, en mémoire mais avec une fonctionnalité supplémentaire d'être structurées et faciles à travailler. L'API Dataframe est également disponible en Scala, Python, R et Java.

3. Spark Streaming

Le streaming de données est une technique où un flux continu de données en temps réel est traité. Il nécessite un cadre qui offre une faible latence pour l'analyse. Spark Streaming fournit cela ainsi qu'une API à haut débit, tolérante aux pannes et évolutive pour le traitement des données en temps réel. Il est résumé sur le flux discrétisé (DStream) qui représente un flux de données divisé en petits lots. DStream est construit sur RDD, ce qui permet à Spark Streaming de fonctionner de manière transparente avec d'autres composants spark. Certains des utilisateurs les plus notables de Spark.

Le streaming est Netflix, Pinterest et Uber. Spark Streaming peut être intégré à Apache Kafka qui est une plate-forme de découplage et de mise en mémoire tampon pour les flux d'entrée. Kafka agit comme le hub central pour les flux en temps réel qui sont traités à l'aide d'algorithmes dans Spark Streaming.

4. Spark MLLib

L'attraction principale de Spark est l'augmentation massive du calcul et cette fonctionnalité est l'exigence la plus importante pour tout projet d'apprentissage automatique. Spark MLLib est le composant d'apprentissage automatique de Spark qui contient des algorithmes d'apprentissage automatique tels que la classification, la régression, le clustering et le filtrage collaboratif. Il offre également un espace pour l'extraction d'entités, la réduction de dimensionnalité, la transformation, etc.

Vous pouvez également enregistrer vos modèles et les exécuter sur des jeux de données plus volumineux sans avoir à vous soucier des problèmes de dimensionnement. Il contient également des utilitaires pour l'algèbre linéaire, les statistiques et la gestion des données. Grâce au traitement en mémoire de Spark, à la tolérance aux pannes, à l'évolutivité et à la facilité de programmation, à l'aide de cette bibliothèque, vous pouvez exécuter facilement des algorithmes ML itératifs.

5. GraphX

Graph Analytics détermine essentiellement les relations entre les objets d'un graphique, par exemple, la distance la plus courte entre deux points. Cela permet d'optimiser l'itinéraire. L'API Spark GraphX ​​facilite le calcul de graphes et de graphes parallèles. Il simplifie l'analyse graphique et la rend plus rapide et plus fiable. Google Maps est l'une des applications principales et bien connues de l'analyse graphique.

Il découvre la distance entre deux emplacements et donne une suggestion d'itinéraire optimale. Un autre exemple peut être les suggestions d'amis Facebook. GraphX ​​fonctionne avec des graphiques et des calculs. Spark propose une gamme d'algorithmes graphiques tels que le classement des pages, les composants connectés, la propagation des étiquettes, SVD ++, les composants fortement connectés et le nombre de triangles.

6. SparkR

R est le langage statistique le plus utilisé, qui comprend plus de 10 000 packages à des fins différentes. Il a utilisé l'API de trames de données, ce qui le rend pratique à utiliser et fournit également des visualisations puissantes pour que les scientifiques des données puissent analyser leurs données en profondeur. Cependant, R ne prend pas en charge le traitement parallèle et est limité à la quantité de mémoire disponible sur une seule machine. C'est là que SparkR entre en scène.

Spark a développé un package connu sous le nom de SparkR qui résout le problème d'évolutivité de R. Il est basé sur des trames de données distribuées et fournit également la même syntaxe que le moteur de traitement distribué de R. Spark et l'interactivité, les packages et la visualisation inégalés de R se combinent pour donner aux Data Scientists ce ils veulent pour leurs analyses.

Conclusion

Étant donné que Spark est un cadre général, il se retrouve dans une large gamme d'applications. Spark est largement utilisé dans la plupart des applications de Big Data en raison de ses performances et de sa fiabilité. Tous ces composants de Spark sont mis à jour avec de nouvelles fonctionnalités dans chaque nouvelle version et nous facilitent la vie.

Articles recommandés

Ceci est un guide des composants Spark. Ici, nous discutons de l'aperçu et des 6 principaux composants de spark avec une explication détaillée. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Top 5 des alternatives importantes pour la ruche
  2. Composants / Outils Talend Open Studio
  3. Les 6 principaux composants de l'écosystème IoT
  4. Qu'est-ce que Talend Data Integration with Benefits?

Catégorie: