Vous êtes sur la page 1sur 2

Atelier Apache Hadoop et Spark: Pyspark https://fad.uvt.rnu.tn/mod/page/view.php?

id=129202

Atelier Apache Hadoop et Spark: Pyspark

Présentation de PySpark

PySpark est une librairie qui permet d'utiliser Apache Spark avec le langage de programmation
Python. Pour bien comprendre PySpark, il est donc nécessaire de mieux cerner Apache Spark. Ce
dernier est un framework open source facile et rapide d'utilisation. Développé par l'AMPLab de UC
Berkeley, il permet d'effectuer des analyses sophistiquées avec de gros volumes de données, et ce,
de manière distribuée. Le calcul distribué (cluster computing) consiste en l'exploitation de
plusieurs unités de calcul qui sont réparties en cluster afin de diviser le temps d'exécution d'une
requête.

Le moteur de traitement Spark a été développé en Scala et offre de meilleures performances dans
son langage de base. Il est également utilisé pour la création d'applications de données comme
librairie ou pour des analyses de données de manière interactive. De même, il fonctionne
sur Hadoop, sur ordinateur portable, sur Apache Mesos… Son implémentation dans Python, c'est-
à-dire PySpark, permet d'écrire des applications Spark grâce aux API du langage, mais offre
également le shell PySpark qui offre une analyse interactive des données dans un environnement
distribué.

Comment fonctionne la bibliothèque PySpark ?

La bibliothèque d'analyse de données PySpark est un outil puissant qui offre de nombreuses
fonctionnalités pratiques et pertinentes. Afin de pouvoir les utiliser, il est nécessaire de procéder à
son installation.

Les caractéristiques et fonctionnalités de PySpark

La bibliothèque d'analyse de données PySpark supporte quasiment toutes les fonctionnalités de


Spark à l'instar de Spark SQL, de Spark Streaming, de Spark Core, de MLib pour le Machine
Learning ou l'apprentissage automatique et de GraphX pour le traitement des graphes. Ces
différentes librairies peuvent être combinées de façon transparente dans une même application.

En interagissant avec Spark par le biais de PySpark, on envoie des instructions au driver
responsable de la coordination de toutes les opérations. La communication avec le pilote est
habituellement assurée par un objet SparkContext chargé de coordonner les calculs sur les
différents clusters.

PySpark est également caractérisé par ses structures de données comme les RDD et les Data frame.
L'une des plus importantes est sans doute les RDD ou Resilient Distributed Data. Un RDD est l'une
des structures de données fondamentales de PySpark. Il peut traiter aussi bien les données

1 sur 2 02/03/2024, 10:55


Atelier Apache Hadoop et Spark: Pyspark https://fad.uvt.rnu.tn/mod/page/view.php?id=129202

structurées que les données non structurées. On peut également assimiler un RDD à la
représentation Spark d'un tableau de données. L'une des grandes forces d'un RDD réside dans son
habileté à évaluer passivement un code. Le lancement des calculs est en effet reporté jusqu'à ce que
cela soit requis. Les développeurs Python utilisent généralement le terme lazy evaluation pour
évoquer cette caractéristique des RDD.

La création des RDD peut commencer dès lors qu'un SparkContext est disponible. Les modalités
de création des RDD sont nombreuses, mais la plus courante est par le biais de la fonction «
PySpark parallelize () ». Celle-ci est capable de transformer en RDD, certaines structures de
données Python comme les tuples et les listes. La fonction « textFile() » peut également être
utilisée pour la création de RDD. Quant à take (), elle permet de voir le contenu d'un RDD créé.

Les RDD se lisent aussi ligne par ligne, ce qui les rend pratiques dans le traitement de données
textuelles. Ils possèdent également deux types de méthodes. Il y a les actions qui ne donnent pas
en sortie un RDD et les transformations qui donnent un autre RDD en sortie.

Pourquoi utiliser PySpark ?

L'interface PySpark pour Apache Spark est une bibliothèque d'analyse de données largement
utilisée en Data Science en raison de ces nombreux avantages. Tout d'abord, PySpark permet un
calcul en temps réel sur de larges volumes de données. Il présente en effet une faible latence
puisqu'il se focalise sur le traitement en mémoire.

De plus, la bibliothèque PySpark supporte plusieurs langages de programmation comme Python,


Scala, Java et R. Elle offre également une puissante mise en cache et une grande constance du
disque.

PySpark fonctionne aussi bien avec les RDD. Et pour cause, Python est un langage de
programmation caractérisé par son typage dynamique, ce qui facilite grandement l'utilisation des
RDD. Ces différentes raisons expliquent pourquoi la rencontre en Python et Spark a connu un
immense succès dans de nombreux domaines comme la Data Science, la santé, le commerce…

2 sur 2 02/03/2024, 10:55

Vous aimerez peut-être aussi