Spark

Spark avec Databricks, acquérir une maîtrise avancée

Objectifs de la formation

  • Rappel des concepts de base de Spark.
  • Utiliser Spark Shell pour interagir avec Spark.
  • Maîtriser le développement Spark en production.
  • Acquérir des compétences en Spark SQL.
  • Exploiter Spark SQL pour la manipulation de données tabulaires.
  • Monitorer et gérer des applications Spark.
  • Optimiser les performances de Spark.
  • Approfondir les optimisations de performances de Spark.
  • Comprendre Spark Delta Lake et son intégration avec Databricks.
  • Utiliser Spark Streaming pour le traitement de flux de données en temps réel.
  • Développer des applications Spark en temps réel.


Programme de la formation

Introduction

  • Rappel des concepts fondamentaux de Spark, y compris son architecture, et ses composants clés
  • Prise en main Spark Shell

Travaux pratiques

Utiliser Spark Shell pour créer un workflow simple avec chargement de données, manipulations de RDD et DataFrames, suivi d'exécutions de requêtes sur un DataFrame, puis explorer les ressources de référence.

Développement Spark et Spark SQL

  • Développement Spark en production, de l'initialisation du projet à l'exécution avec spark-submit.
  • Introduction à Spark SQL
  • Exploitation de Spark SQL

Travaux pratiques

Créer un projet Spark Scala avec sbt, lire un fichier CSV depuis HDFS, compiler, générer une archive jar, et lancer l'application avec spark-submit

Pratiquer le chargement de données, la création de tables, les opérations SQL de sélection, de regroupement et de tri, les requêtes avancées et l'optimisation des performances avec Spark SQL

Créer un projet Spark Scala avec sbt, lire un fichier CSV depuis HDFS, compiler, générer une archive jar, et lancer l'application avec spark-submit

Déploiement et monitoring

  • Paramètres et modalités d'exécution de programmes Spark
  • Monitoring : Yarn UI
  • Monitoring : Spark UI Deep Dive

Travaux pratiques

Déploiement d'une application Spark en utilisant différents modes (cluster, client, local), en définissant des paramètres de configuration, des dépendances et les options avancées pour gérer efficacement les ressources et l'exécution de l'application.

Explorer l'interface YARN UI pour visualiser les détails des applications Spark, surveiller l'utilisation des ressources, accéder aux logs, et comprendre les statistiques de performance en temps réel.

Utiliser Spark UI pour examiner les jobs, les stages, la gestion de la mémoire, la configuration, les exécuteurs, les requêtes SQL, les métriques de streaming, les RDD, et d'autres statistiques de performance dans le contexte d'une application Spark en cours d'exécution.

Optimisation spark

  • Comprendre les optimisations de performance de Spark
  • Approfondir les optimisations de performance de Spark
  • Spark Delta Lake

Travaux pratiques

Appliquer les techniques d'optimisation de Spark, y compris l'ajustement de la mémoire, la configuration du partitionnement des données, l'optimisation des requêtes SQL, et la gestion efficace des ressources en utilisant des gestionnaires comme YARN Kubernetes ou Mesos.

Mettre en pratique les techniques d'optimisation de Spark, notamment la mise en cache des données, la minimisation des opérations de shuffle, l'ajustement du Garbage Collector, et l'utilisation de Spark UI pour le monitoring en temps réel et le profiling de l'application.

Utiliser Spark Delta Lake pour créer une table avec prise en charge ACID, effectuer des opérations d'écriture, de lecture, de mise à jour et de suppression, et explorer les fonctionnalités avancées telles que le contrôle du schéma, l'accès aux versions antérieures et les optimisations de requêtes.

Spark streaming

  • Comprendre Spark Streaming et son utilisation pour le traitement de flux de données en temps réel.
  • Approfondir la maîtrise de Spark Streaming en explorant les accumulateurs, les options de streaming, la gestion de la tolérance aux pannes, et l'optimisation des performances.
  • Spark Delta Lake

Travaux pratiques

Explorer Spark Streaming en implémentant le traitement de flux de données en temps réel avec des opérations sur les données, la gestion des fenêtres temporelles et de l'écriture de résultats en streaming.

Utiliser des accumulateurs, configurer les options de streaming, gérer la tolérance aux pannes, et optimiser les performances avec Spark Streaming.

Please login to get access to the quiz
Spark Avancé (Prev Lesson)
Back to Spark
Public

Développeurs d'applications, architectes, Data engineers, Data analysts.

Pré-requis

Connaissances des API Spark, notamment RDD et DataFrame. Maîtrise d’un des langages suivants : Scala, java, Python.

Sur le même thème