Une formation de trois jours sur la construction de pipelines de données et d'infrastructures de traitement avec Python. Des formats de données et de la validation au traitement scalable et à l'intégration cloud.

Durée 3 jours (21 heures)
Format 50 pour cent présentation, 50 pour cent exercices
Prérequis Solides fondamentaux Python requis, connaissances SQL de base recommandées
Supports Machines virtuelles fournies, supports de cours électroniques

Jour 1 — Fondamentaux des données

Formats de données

  • JSON : analyse, sérialisation, streaming avec ijson
  • CSV : gestion avancée, problèmes d'encodage, stratégies pour les gros fichiers
  • Parquet : stockage en colonnes, lecture et écriture avec pyarrow
  • Avro : évolution de schéma, sérialisation binaire

Validation des données

  • Pydantic : modèles, validateurs, sérialisation, gestion de la configuration
  • Stratégies de validation de schéma pour les données entrantes
  • Gestion des erreurs et rapports de qualité des données

Accès aux bases de données

  • SQLAlchemy Core : engine, connexions, SQL brut, transactions
  • SQLAlchemy ORM : modèles, sessions, relations, requêtes
  • Drivers de base de données asynchrones : asyncpg, aiosqlite
  • Introduction aux patterns ETL et ELT

Jour 2 — Conception de pipelines

Orchestration

  • Apache Airflow ou Prefect : DAGs, tâches, planification, réessais
  • Patterns de conception de pipelines : idempotence, points de contrôle, rattrapage
  • Gestion des erreurs et alerting dans les pipelines

Transformation des données

  • pandas : DataFrames, Series, groupby, merge, pivot
  • Transformations avancées : fonctions fenêtre, agrégations personnalisées
  • Optimisation mémoire : traitement par morceaux, dtypes, données catégorielles

Qualité des données et tests

  • Tests de pipelines de données : fixtures, données simulées, assertions
  • Contrôles de qualité des données : complétude, cohérence, fraîcheur
  • Journalisation et supervision de l'exécution des pipelines

Jour 3 — Montée en charge

Traitement distribué

  • Concepts de traitement distribué : partitionnement, brassage, agrégation
  • Introduction à Dask pour les DataFrames parallèles
  • Quand utiliser pandas vs Dask vs Polars

Intégration cloud

  • Stockage cloud : lecture et écriture sur S3 et GCS
  • Vue d'ensemble des services de pipelines cloud-natifs
  • Bases de l'Infrastructure as Code pour les pipelines de données

Données en temps réel

  • Concepts de streaming : producteurs, consommateurs, topics
  • Travailler avec des message brokers depuis Python
  • Bonnes pratiques et architecture de projet pour les projets data

Exercices pratiques

  • Construction d'un pipeline de données complet de la source à la destination
  • Implémentation de la validation des données et des contrôles de qualité
  • Déploiement et supervision d'un pipeline