Description
Spark est un des principaux frameworks d’analyse de données Big Data. Il est massivement déployé sur les infrastructures de type Data Lake, soit directement, soit au travers d’autres outils tels que Dataiku DSS. PySpark est une bibliothèque permettant d’utiliser ce framework en Python.
Cette formation est une formation compagnon du parcours “Python pour la Data Science”. Elle constitue un complément à la formation “Exploration de données” du même parcours et insiste sur la manipulation de données en environnement BigData.
Intra-entreprise : Sur devis
- Reconnaître les spécificités du traitement de données en environnement Big Data
- Savoir expliquer les notions principales liées au traitement de données distribué sur un cluster de calcul Spark (Driver, master, exécuteur, Partitionnement, shuffle)
- Appliquer les principaux types de manipulation de données avec la bibliothèque PySpark
Profil des béneficiaires
Pour qui
- Personnes devant manipuler des données dans l’écosystème Python avec PySpark
Prérequis
- Utilisation de Python, des Notebooks Jupyter et de la bibliothèque Pandas ou avoir suivi la formation « Python pour la Data Science : L’exploration de données »
- Maîtriser les bases de la manipulation de données (notamment Aggrégations, Jointures, etc)
- Lecture de l’anglais technique
Contenu de la formation
-
1. Big Data, Clusters de Calcul et Spark
- Introduction aux enjeux du Big Data : volume, variété, vélocité
- Positionnement de Spark dans l’écosystème de traitement de données
- Principes du calcul distribué
- Notion de cluster Spark : driver, executors, ressources de calcul
-
2. Lecture et écritures de données
- Lecture des données CSV
- Spécificité de l’écriture de données en environnement BigData
- Les formats de données
-
3. Manipulations simples en PySpark
- Les Dataframes PySpark
- Les sélection et transformations de colonnes
- Filtrages des lignes
- Notion de calcul paresseux
- Agrégations globales : notion de “map-reduce” et spécificités en calcul distribué
-
4. Structuration et croisements de données
- Groupements et agrégations
- Jointures
-
5. Structure d’une application Spark
- Notion de partitions et de dépendances larges et étroites
- Notion de shuffle
Les annexes suivantes sont optionelles et abordées en fonction du temps disponible et des préférences des participants
-
Les annexes suivantes sont optionelles et abordées en fonction du temps disponible et des préférences des participants
- a1. Fonctions fenêtrées
• Définition et principe
• Les différents types de fenêtre et d’agrégations - a2. Partitionnement et optimisations
• Partitionnement physiques et buckets
• Repartitionnement et cache - a3. SQL
• Equivalence API Spark et SQL
• Execution de requêtes SQL - a4. Fonctions définies par l’utilisateurs
• Fonctions Python
• Fonctions Pandas
• Fonctions d’agrégation
• Spécificités en Spark - a5. Déploiement d’un cluster Spark “standalone”
• Les services master et worker
• Modes cluster et mode client
- a1. Fonctions fenêtrées
Équipe pédagogique
-
Conception :
Morjan BAHAJI
Alexis Mignon
-
Formateurs :
Morjan BAHAJI
Pavel ORLOV
- Exercices en cours de formation
- Formulaire d’évaluation de la formation
Ressources techniques et pédagogiques
- Alternances entre exposés théoriques et mises en pratique
- Etude d’un jeu de données fil rouge
- Utilisation des notebooks Jupyter pour rassembler explications et exercices pratiques
-
Capacité d’accueil
12 personnes
Accessibilité