Jour 1 : Introduction à Apache Spark et Scala
Introduction à Apache Spark :
- Présentation de Spark et son rôle dans le traitement de données à grande échelle.
- Avantages de l'utilisation de Spark pour le traitement de données par rapport à d'autres technologies.
Introduction à Scala :
- Présentation du langage de programmation Scala et de ses caractéristiques.
- Les principales différences entre Scala et d'autres langages de programmation courants.
Installation et configuration de l'environnement Spark :
- Installation de Spark et de Scala sur l'environnement de développement.
- Configuration des variables d'environnement et des paramètres de Spark.
Les RDD (Resilient Distributed Datasets) en Spark :
- Comprendre les RDD en tant que principal concept de stockage et de traitement des données dans Spark.
- Création et manipulation de RDD à partir de diverses sources de données.
Les transformations et les actions de base sur les RDD :
- Comprendre les transformations et les actions et leur rôle dans les opérations de traitement de données.
- Utiliser les transformations (map, filter, reduceByKey, etc.) et les actions (count, collect, saveAsTextFile, etc.) pour analyser les données.
Manipulation de données avec Spark RDD :
- Appliquer des opérations de traitement de données sur des RDD pour résoudre des problèmes pratiques.
- Exemples pratiques d'utilisation de Spark RDD pour effectuer des tâches de traitement de données.
Jour 2 : Manipulation de données avec DataFrames en Spark
Introduction aux DataFrames en Spark :
- Comprendre les DataFrames en tant que structure de données tabulaire organisée et distribuée dans Spark.
- Avantages d'utilisation des DataFrames par rapport aux RDD.
Création et manipulation de DataFrames :
- Charger des données dans un DataFrame à partir de différentes sources (fichiers CSV, JSON, bases de données, etc.).
- Appliquer des transformations sur les DataFrames pour filtrer, sélectionner et grouper les données.
Opérations de base sur les DataFrames :
- Utiliser des fonctions d'agrégation telles que sum, avg, max, min, etc.
- Appliquer des opérations de jointure pour combiner des DataFrames.
Introduction aux Datasets en Spark :
- Comprendre les Datasets en tant que nouvelle API de haut niveau pour manipuler des données structurées.
- Comparaison des Datasets avec les RDD et les DataFrames.
Traitement de données structurées avec les Datasets :
- Utiliser des Datasets pour manipuler des données structurées et bénéficier de la typage statique.
- Appliquer des opérations de filtrage, de tri et de groupage sur les Datasets.
Les fonctions d'agrégation et les opérations avancées sur les DataFrames :
- Utiliser des fonctions d'agrégation avancées pour effectuer des calculs complexes sur les données.
- Utiliser des fonctions de fenêtrage pour effectuer des opérations sur des fenêtres de données.
Jour 3 : Utilisation de SQL et optimisation dans Spark
Introduction à Spark SQL :
- Comprendre le rôle de Spark SQL dans le traitement de données.
- Utiliser SQL pour interroger des données dans Spark et tirer parti des capacités de Spark SQL.
Utilisation de SQL pour interroger des données dans Spark :
- Écrire des requêtes SQL pour effectuer des analyses et des transformations de données.
- Comparaison des requêtes SQL avec les opérations DataFrame et RDD.
Introduction aux performances et à l'optimisation dans Spark :
- Comprendre l'importance des performances dans le traitement de données à grande échelle.
- Identifier les goulots d'étranglement et les problèmes de performances courants.
Gestion des partitions pour améliorer les performances :
- Comprendre le concept de partitionnement des données dans Spark.
- Optimiser les partitions pour améliorer l'efficacité des opérations de traitement de données.
Résolution de problèmes de traitement de données courants avec Spark Scala :
- Exemples pratiques de résolution de problèmes courants liés au traitement de données avec Spark et Scala.
- Réalisation de projets pratiques pour appliquer les connaissances acquises au cours de la formation.