Plan du cours
Introduction, objectifs et stratégie de migration
- Objectifs du cours, alignement avec le profil des participants et critères de réussite
- Approches de migration à haut niveau et considérations relatives aux risques
- Configuration des espaces de travail, des référentiels et des jeux de données de laboratoire
Jour 1 — Fondamentaux de la migration et architecture
- Concepts Lakehouse, aperçu de Delta Lake et architecture de Databricks
- Différences et implications entre SMP et MPP pour la migration
- Conception Medallion (Bronze→Argent→Or) et aperçu d'Unity Catalog
Laboratoire du Jour 1 — Traduction d'une procédure stockée
- Migration pratique d'une procédure stockée d'exemple vers un notebook
- Mapping des tables temporaires et des curseurs vers des transformations de DataFrames
- Validation et comparaison avec la sortie originale
Jour 2 — Delta Lake avancé et chargement incrémentiel
- Transactions ACID, journaux de commit, versionnement et voyage dans le temps
- Auto Loader, motifs MERGE INTO, upserts et évolution du schéma
- OPTIMIZE, VACUUM, Z-ORDER, partitionnement et réglage du stockage
Laboratoire du Jour 2 — Ingestion incrémentielle et optimisation
- Mise en œuvre de l'ingestion Auto Loader et des workflows MERGE
- Application de OPTIMIZE, Z-ORDER et VACUUM ; validation des résultats
- Mesure des améliorations de performance en lecture et écriture
Jour 3 — SQL dans Databricks, performances et débogage
- Fonctionnalités SQL analytiques : fonctions de fenêtre, fonctions d'ordre supérieur, gestion JSON/tableaux
- Lecture de l'interface utilisateur Spark, DAG, shuffles, étapes, tâches et diagnostic des goulots d'étranglement
- Motifs de réglage des requêtes : jointures par broadcast, hints, mise en cache et réduction du débordement (spills)
Laboratoire du Jour 3 — Refactorisation SQL et réglage de performances
- Refactoriser un processus SQL lourd en Spark SQL optimisé
- Utiliser les traces de l'interface utilisateur Spark pour identifier et corriger les problèmes de skew et de shuffle
- Comparer les performances avant/après et documenter les étapes de réglage
Jour 4 — PySpark tactique : remplacement de la logique procédurale
- Modèle d'exécution de Spark : driver, executors, évaluation paresseuse et stratégies de partitionnement
- Transformation des boucles et curseurs en opérations de DataFrames vectorisées
- Modularisation, UDFs/pandas UDFs, widgets et bibliothèques réutilisables
Laboratoire du Jour 4 — Refactorisation de scripts procéduraux
- Refactoriser un script ETL procédural en notebooks PySpark modulaires
- Introduire la paramétrisation, les tests unitaires et les fonctions réutilisables
- Revue de code et application de la liste de vérification des bonnes pratiques
Jour 5 — Orchestration, pipeline bout-en-bout et meilleures pratiques
- Databricks Workflows : conception des jobs, dépendances des tâches, déclencheurs et gestion des erreurs
- Conception de pipelines Medallion incrémentiels avec des règles de qualité et la validation du schéma
- Intégration avec Git (GitHub/Azure DevOps), CI et stratégies de test pour la logique PySpark
Laboratoire du Jour 5 — Construire un pipeline complet bout-en-bout
- Assembler un pipeline Bronze→Argent→Or orchestré avec Workflows
- Implémenter la journalisation, l'audit, les reprises sur erreur et les validations automatisées
- Exécuter le pipeline complet, valider les sorties et préparer les notes de déploiement
Opérationnalisation, gouvernance et préparation à la production
- Bonnes pratiques de gouvernance d'Unity Catalog, linéarité et contrôles d'accès
- Coûts, dimensionnement des clusters, mise à l'échelle automatique et motifs de concurrence des jobs
- Listes de vérification de déploiement, stratégies derollback et création de runbooks
Révision finale, transfert de connaissances et prochaines étapes
- Présentations des participants sur le travail de migration et les leçons apprises
- Analyse des écarts, activités recommandées de suivi et remise du matériel de formation
- Références, parcours d'apprentissage supplémentaires et options de support
Pré requis
- Une compréhension des concepts d'ingénierie des données
- Une expérience avec SQL et les procédures stockées (Synapse / SQL Server)
- Une familiarité avec les concepts d'orchestration ETL (ADF ou similaire)
Public cible
- Gestionnaires technologiques avec un background en ingénierie des données
- Ingénieurs des données passant d'une logique OLAP procédurale aux motifs Lakehouse
- Ingénieurs de plateforme responsables de l'adoption de Databricks