Vue d'ensemble
- Comprendre la différence entre les API 3 des étincelles: RDD, blocs de données et ensembles de données
- Nous allons voir comment créer RDD, blocs de données et ensembles de données.
introduction
Ont réussi 11 ans depuis Apache Spark a commencé à exister et, de manière impressionnante et continue, est devenu le premier choix des développeurs de Big Data. Les développeurs ont toujours aimé fournir des API simples et puissantes capables d'effectuer tout type d'analyse de Big Data..

Initialement, dans 2011 est venu avec le concept de RDD, après dans 2013 avec Dataframes et plus tard dans 2015 avec le concept de Datasets. Aucun d'entre eux ne s'est déprécié, nous pouvons toujours les utiliser tous. Dans ce billet, nous comprendrons et verrons la différence entre les trois.
Table des matières
- Que sont les RDD?
- Quand utiliser RDD?
- Que sont les trames de données?
- Que sont les ensembles de données?
- RDD vs Dataframes vs Datasets?
Que sont les RDD?
Les RDD ou ensembles de données distribués résilients sont la structure de données fondamentale de Spark. C'est la collection d'objets capable de stocker des données partitionnées sur plusieurs nœuds de grappeUn cluster est un ensemble d’entreprises et d’organisations interconnectées qui opèrent dans le même secteur ou la même zone géographique, et qui collaborent pour améliorer leur compétitivité. Ces regroupements permettent le partage des ressources, Connaissances et technologies, favoriser l’innovation et la croissance économique. Les grappes peuvent couvrir une variété d’industries, De la technologie à l’agriculture, et sont fondamentaux pour le développement régional et la création d’emplois.... et leur permet également de faire le traitement parallèleLe traitement parallèle est une technique qui permet d'exécuter plusieurs opérations simultanément, en divisant des tâches complexes en sous-tâches plus petites. Cette méthodologie optimise l'utilisation des ressources informatiques et réduit le temps de traitement, étant particulièrement utile dans des applications telles que l'analyse de grands volumes de données, les simulations et le rendu graphique. Sa mise en œuvre est devenue essentielle dans les systèmes à haute performance et dans l'informatique moderne.....
Il est tolérant aux pannes si vous effectuez plusieurs transformations sur le RDD puis, pour toute circonstance, si un échec se produit nœudNodo est une plateforme digitale qui facilite la mise en relation entre les professionnels et les entreprises à la recherche de talents. Grâce à un système intuitif, Permet aux utilisateurs de créer des profils, Partager des expériences et accéder à des opportunités d’emploi. L’accent mis sur la collaboration et le réseautage fait de Nodo un outil précieux pour ceux qui souhaitent élargir leur réseau professionnel et trouver des projets qui correspondent à leurs compétences et à leurs objectifs..... El RDD, dans ce cas, est capable de récupérer automatiquement.
Il y a 3 alternatives pour créer un TSA:
- Parallèlement à une collecte de données existante
- Référence au fichier de données externe stocké
- Créer un RDD à partir d'un RDD existant
Quand utiliser RDD?
Nous pouvons utiliser RDD dans les situations suivantes:
- Lorsque nous voulons faire des transformations de bas niveau sur l'ensemble de données. En savoir plus sur les transformations RDD: PySpark pour effectuer des transformations
- Ne déduit pas automatiquement le schéma des données ingérées, nous devons spécifier le schéma de chaque ensemble de données lorsque nous créons un RDD. Apprenez à déduire le schéma RDD ici: Construire des pipelines de machine learning avec PySpark
Que sont les trames de données?
Il a été introduit pour la première fois dans la version Spark 1.3 pour surmonter les limitations de Spark RDD. Les Spark Dataframes sont la collection distribuée de points de données, mais ici, les données sont organisées en colonnes nommées. Permettre aux développeurs de déboguer le code tout au long de l'exécution, ce qui n'était pas autorisé avec les RDD.
Les trames de données peuvent lire et écrire les données dans divers formats comme CSV, JSONJSON, o Notation d’objet JavaScript, Il s’agit d’un format d’échange de données léger, facile à lire et à écrire pour les humains, et facile à analyser et à générer pour les machines. Il est couramment utilisé dans les applications Web pour envoyer et recevoir des informations entre un serveur et un client. Sa structure est basée sur des paires clé-valeur, ce qui le rend polyvalent et largement adopté dans le développement de logiciels.., EURO, HDFSHDFS, o Système de fichiers distribués Hadoop, Il s’agit d’une infrastructure clé pour stocker de gros volumes de données. Conçu pour fonctionner sur du matériel commun, HDFS permet la distribution des données sur plusieurs nœuds, Garantir une disponibilité élevée et une tolérance aux pannes. Son architecture est basée sur un modèle maître-esclave, où un nœud maître gère le système et les nœuds esclaves stockent les données, faciliter le traitement efficace de l’information.. et des tableaux HIVEHive est une plateforme de réseaux sociaux décentralisée qui permet à ses utilisateurs de partager du contenu et de se connecter avec d'autres sans l'intervention d'une autorité centrale. Elle utilise la technologie blockchain pour garantir la sécurité et la propriété des données. Contrairement à d'autres réseaux sociaux, Hive permet aux utilisateurs de monétiser leur contenu via des récompenses en cryptomonnaies, ce qui favorise la création et l'échange actif d'informations..... Il est déjà optimisé pour traiter de grands ensembles de données pour la plupart des tâches de prétraitement, nous n'avons donc pas besoin d'écrire nous-mêmes des fonctions complexes.
Utilise un optimiseur de catalyseur à des fins d'optimisation. Si vous souhaitez en savoir plus sur l'optimiseur de catalyseur, Je vous recommande fortement de lire ce post: Tutoriel pratique pour analyser des données avec Spark SQL
Voyons comment créer un bloc de données à l'aide de PySpark.
Que sont les ensembles de données?
Spark Datasets est une extension de l'API Data Frames avec les avantages des RDD et des ensembles de données. C'est rapide et fournit une interface de type sécurisé. La sécurité de type signifie que le compilateur validera les types de données de toutes les colonnes de l'ensemble de données uniquement lors de la compilation et générera une erreur en cas de divergence dans les types de données.

Les utilisateurs de RDD le trouveront quelque peu similaire au code, mais c'est plus rapide que RDD. Peut traiter efficacement les données structurées et non structurées.
Nous ne pouvons toujours pas créer d'ensembles de données Spark en Python. L'API de jeu de données n'est activée que dans Scala et Java.
RDD vs Data Frames vs Data Sets
| RDD | Trames de données | Ensembles de données | |
| Représentation des données | RDD est une collection distribuée d'éléments de données sans aucun schéma. | C'est aussi la collection distribuée organisée dans les colonnes nommées. | C'est une extension de Dataframes avec plus de fonctionnalités telles que la sécurité de type et l'interface orientée objet. |
| Amélioration | Pas de moteur d'optimisation intégré pour RDD. Les développeurs doivent écrire eux-mêmes le code optimisé. | Utilise un optimiseur de catalyseur pour l'optimisation. | Utilise également un optimiseur de catalyseur à des fins d'optimisation. |
| Projection du contour | Ici, nous devons définir le schéma manuellement. | Il découvrira automatiquement le schéma de l'ensemble de données. | De plus, il trouvera automatiquement le schéma du jeu de données via le moteur SQL. |
| Opération d'agrégation | RDD est plus lent que les trames de données et les ensembles de données pour effectuer des opérations simples comme le regroupement de données. | Fournit une API simple pour effectuer des opérations d'agrégation. Effectue l'agrégation plus rapidement que les RDD et les ensembles de données. | L'ensemble de données est plus rapide que les RDD mais légèrement plus lent que les Dataframes. |
Remarques finales
Dans ce billet, nous avons vu la différence entre les trois principales API de Apache SparkApache Spark est un moteur de traitement de données open source qui permet l'analyse de grands volumes d'informations de manière rapide et efficace. Sa conception est basée sur la mémoire, ce qui optimise les performances par rapport à d'autres outils de traitement par lots. Spark est largement utilisé dans les applications de big data, apprentissage automatique et analyse en temps réel, grâce à sa facilité d'utilisation et..... Ensuite, compléter, si vous voulez une sémantique riche, abstractions de haut niveau, sécurité des types, elija Dataframes o Datasets. Si vous avez besoin de plus de contrôle sur la partie prétraitement, vous pouvez toujours utiliser les RDD.
Je vous recommande de consulter ces ressources supplémentaires sur Apache Spark pour renforcer vos connaissances:
Si vous avez trouvé cet article informatif, Partage-le avec tes amis, et aussi si vous voulez donner des suggestions sur ce qui devrait être couvert, n'hésitez pas à les laisser dans les notes ci-dessous.
En rapport
Articles Similaires:
- trames PNL | Meilleur framework PNL
- Spark SQL, optimiseur de catalyseur | Analyser les données avec Spark SQL
- Spark Streaming en temps réel | Transmission de données en temps réel avec Apache Spark
- Ensembles de données Kaggle | Les meilleurs ensembles de données Kaggle à pratiquer pour les scientifiques des données



