- Cours pratique
Formation Python avancé sur Databricks : notebooks, PySpark, SQL, visualisation et MLflow

- Durée
- 4 jours
- Niveau
- Avancé
- Modalités
- Distanciel
Description de la formation Python Databricks
Cette formation Python Databricks vous apprend à développer des workflows d’analyse robustes sur Databricks avec Python, PySpark et SQL. Elle s’adresse à des analystes, data scientists, data analysts, chargés d’études et profils techniques sachant déjà coder et souhaitant adapter leurs pratiques à l’environnement Databricks.
Le parcours est progressif : prise en main de l’environnement Databricks et de ses composants, manipulation de données distribuées avec PySpark et SQL, puis approfondissement du scripting, de l’exploration, de la visualisation et ouverture vers un premier pipeline de modélisation suivi avec MLflow.

Objectifs pédagogiques
Objectifs pédagogiques :
À l'issue de cette formation Python Databricks, vous aurez acquis les connaissances et compétences nécessaires pour :
- Maîtriser l’organisation d’un workspace Databricks, le rôle du cluster et les principaux objets de travail
- Arbitrer entre Python, SQL, PySpark et pandas selon les volumes, les usages et les contraintes d’exécution
- Écrire du code Python modulaire, réutilisable et maintenable dans un environnement notebook
- Structurer des analyses reproductibles intégrant contrôles, restitution visuelle et premières logiques d’expérimentation
Objectifs opérationnels
Objectif opérationnel :
Savoir développer des workflows d'analyse robustes sur Databricks avec Python, PySpark et SQL.
Programme
Contenu du cours, module par module
4 modules
Environnement Databricks
- Présentation de l’architecture Databricks : workspace, notebooks, clusters, jobs
- Navigation dans l’interface et organisation des ressources
- Gestion des cellules multi-langages
- Utilisation de `%python`, `%sql`, `%md` et principes de passage d’un langage à l’autre
- Attachement au cluster, choix d’exécution et gestion de session Spark
- Premiers réflexes de travail collaboratif et de traçabilité
- Lecture des messages d’erreur et relance d’une exécution
- Différence entre notebook d’exploration, notebook d’analyse et notebook plus industrialisé
- Positionnement des composants : stockage, calcul, notebook, orchestration simple
- Présentation des catalogues, schémas, tables et accès aux données dans l’environnement Databricks
- Introduction aux widgets, à l’exécution paramétrée et aux premiers usages de Jobs
Rappels Python ciblés Databricks
- Rappels ciblés sur les structures et patterns utiles dans un notebook Databricks
- Fonctions, paramètres, factorisation et organisation du code
- Différence entre objets natifs Python et objets manipulés dans pandas ou PySpark
- Révision des patterns utiles en notebook : itération, sélection, transformation, contrôle
Bonnes pratiques de démarrage
- Séparer exploration, transformation et restitution
- Gérer les imports, paramètres et sorties
- Introduire une logique de notebook “production-ready” à petite échelle
- Comprendre les limites d’un notebook monolithique et préparer sa modularisation
Atelier pratique : Premier notebook Databricks
Attachement au cluster
Création d’un notebook
Exécution de cellules Python et SQL
Adaptation d’un code Python existant au format notebook Databricks
Structuration du notebook en sections de travail
Sauvegarde d’un notebook prêt à être réutilisé
Fondamentaux PySpark
- Comprendre la logique DataFrame et le calcul distribué
- Lire une table ou un fichier dans Databricks
- Inspecter un schéma, sélectionner des colonnes, filtrer des lignes
- Créer ou recoder des colonnes avec PySpark
- Gérer les valeurs manquantes et les doublons
- Produire des agrégations simples
- Manipuler `select`, `filter`, `withColumn`, `when`, `alias`, `drop`, `distinct`
- Comprendre le typage Spark, les `NULL`, la lazy evaluation et le rôle du plan d’exécution
- Introduire les enjeux de partitionnement, coût de calcul et réduction des transformations inutiles
- Comprendre le rôle du Catalyst Optimizer et les implications sur l’écriture des transformations
- Introduire `cache`, `persist`, `repartition`, `coalesce` selon les cas d’usage simples
SQL dans Databricks
- Exécuter des requêtes SQL dans un notebook
- Utiliser `SELECT`, `WHERE`, `CASE WHEN`, `GROUP BY`, `ORDER BY`
- Réaliser des jointures et agrégations multi-niveaux
- Passer d’une logique SQL à une logique PySpark
- Comparer les usages pertinents de SQL et PySpark selon le besoin
- Introduire `JOIN`, `COUNT`, `SUM`, `AVG`, `HAVING` et premières fonctions de fenêtre simples selon le niveau
- Lire un besoin métier et choisir le bon niveau d’implémentation : SQL déclaratif, PySpark DataFrame ou Python d’orchestration
- Utiliser vues temporaires, tables managées et tables externes selon les scénarios abordés
Atelier pratique : Préparer une base d’analyse
Contrôles du schéma et des types
Filtres sur un périmètre d’étude
Création de variables utiles
Agrégations descriptives
Restitution d’un tableau de synthèse avec SQL et PySpark
Techniques de scripting plus avancées
- Structurer un code en fonctions réutilisables et blocs logiques
- Passer des paramètres pour rendre un traitement adaptable
- Utiliser `try/except` pour sécuriser une exécution
- Travailler avec listes, dictionnaires et boucles pour automatiser
- Produire un code plus lisible, plus testable et plus maintenable
- Organiser un notebook pour éviter duplication et dette technique
- Introduire la décomposition d’un traitement en fonctions métier, fonctions utilitaires et cellules d’orchestration
- Utiliser `if __name__ == "__main__"` et les modules simples lorsque le contexte s’y prête
- Écrire des fonctions documentées, avec signatures claires et valeurs de retour explicites
- Introduire les premiers réflexes de refactorisation : nommage, granularité des fonctions, séparation des responsabilités
- Préparer la transition d’un notebook vers un code plus modulaire
- Introduire des helpers réutilisables pour lecture, contrôle, transformation et restitution
Exploration et préparation de données avec Python
- Audit de structure et de contenu d’un dataset
- Statistiques descriptives utiles à l’exploration
- Détection de valeurs manquantes, atypiques ou incohérentes
- Création de variables dérivées pour enrichir l’analyse
- Utilisation de `pandas` pour des analyses locales : `head`, `info`, `describe`, `value_counts`, `groupby`
- Articulation entre Spark pour le volume et pandas pour l’exploration ciblée
- Premiers contrôles sur distributions, cardinalités et cohérence métier
- Préparer un dataset d’exploration lisible avant visualisation ou première modélisation
- Utiliser `toPandas()` avec discernement et comprendre ses limites en contexte cluster
Visualisation de données
- Choisir un graphique pertinent selon la question posée
- Construire des histogrammes, bar charts, boxplots, scatter plots
- Lire les distributions, comparaisons et relations entre variables
- Produire des visualisations utiles à la décision
- Utilisation de `matplotlib` et, si souhaité, `seaborn` pour accélérer la production de graphiques lisibles
- Préparer des graphiques à partir de données agrégées issues de pandas ou PySpark
- Mettre en place une logique de visualisation reproductible : fonctions de tracé, styles, paramètres communs
- Préparer une logique de visualisation compatible avec notebook de partage ou revue entre pairs
Atelier pratique : Notebook d’exploration et visualisation
Écriture de fonctions utilitaires pour les contrôles
Analyse descriptive structurée du dataset
Détection d’anomalies ou signaux faibles
Production d’un premier lot de graphiques commentés
Suivi d’expérimentations avec MLflow
- Comprendre la logique d’un workflow simple de machine learning dans Databricks
- Préparer un jeu de données pour un premier modèle supervisé
- Entraîner un modèle supervisé de référence avec une bibliothèque Python usuelle
- Suivre les paramètres, métriques et artefacts avec MLflow
- Lire les résultats et limites d’un modèle exploratoire
- Exemple de modèle possible : régression logistique ou arbre de décision selon le jeu de données
- Introduction au découpage apprentissage/test, aux métriques de base et à la traçabilité des essais
- Journalisation dans MLflow : paramètres, métriques, modèle et artefacts simples
- Comprendre la place de MLflow dans un cycle d’expérimentation : comparabilité, traçabilité, reproductibilité
- Lire une exécution MLflow dans Databricks et comparer plusieurs runs
Optimisation de notebooks et traitements Databricks
- Identifier les points de coût dans un notebook PySpark ou SQL
- Réduire les transformations inutiles et limiter les actions coûteuses
- Utiliser `cache`, `persist`, `repartition`, `coalesce` de manière pertinente
- Éviter les conversions prématurées vers pandas
- Mieux organiser un notebook pour améliorer lisibilité, maintenabilité et performance
- Exploiter les logs, plans d’exécution et contrôles intermédiaires pour fiabiliser les traitements
- Introduire des pratiques de paramétrage et de factorisation favorables à la réutilisation
- Préparer un notebook plus robuste pour un usage récurrent en équipe
Atelier pratique : Expérimentation suivie avec MLflow et optimisation d’un notebook
Entraînement d’un modèle de référence
Enregistrement des essais dans MLflow
Comparaison élémentaire des métriques
Identification de points d’optimisation dans le notebook
Amélioration de l’organisation et de l’exécution du traitement
Restitution des résultats et discussion des limites
Travaux pratiques
La formation repose sur des exercices progressifs et des ateliers fil rouge réalisés dans Databricks. Chaque journée produit un livrable concret : notebook structuré pour Databricks, base d’analyse PySpark/SQL, notebook d’exploration visuelle avancée, puis workflow d’analyse paramétrable et optimisé intégrant une expérimentation suivie avec MLflow.
Programme mis à jour le 24/03/2026
Public concerné
Ce cours s'adresse aux :
- Data analysts, data scientists, chargés d’études, analytics engineers, profils techniques de la donnée
- Professionnels déjà à l’aise en Python souhaitant transposer leurs pratiques dans Databricks
- Équipes amenées à industrialiser des notebooks d’analyse, d’exploration ou de prototypage

Prérequis
Une bonne pratique préalable de Python (structures de données, fonctions, boucles, gestion de fichiers) ainsi qu'une expérience préalable de manipulation de données tabulaires sont nécessaires pour suivre cette formation. Des bases en SQL sont par ailleurs recommandées.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
Formations liées
- Big Data : Développement d'applications et Data Visualisation Réf. ODAB4 joursFondamentalProchaine session : 2 nov.2 490 €
- SAP BusinessObjects BI4 : ETL - Data Service (DS)Réf. BODS3 joursIntermédiaire
- Tableau Software - Administration ServerRéf. TSAS2 joursAvancé
- Kafka Streams & ksqlDB : Traitement de flux de messages avec Kafka Streams et ksqlDBRéf. KSQL2 joursIntermédiaireProchaine session : 2 nov.1 590 €