Module 5 : Pipelines et Intégration de données

Introduction aux Pipelines

Les pipelines Synapse permettent d'orchestrer des flux de données ETL/ELT. Ils sont basés sur Azure Data Factory et offrent une interface visuelle dans Synapse Studio.

Concepts clés

Activités principales

1. Copy Data

Copie des données entre sources :

Sources supportées : Azure Blob, Data Lake, SQL Server, Oracle, SAP, Salesforce, APIs REST, fichiers FTP, etc.

2. Data Flow

Transformations visuelles sans code :

3. Execute Notebook

Exécute un notebook Spark dans le pipeline.

4. Stored Procedure

Exécute une procédure stockée SQL.

5. Script SQL

Exécute un script SQL serverless ou dédié.

Exemple de pipeline ETL


Pipeline: ETL_Ventes_Quotidien

1. [Copy Data] Source_ERP -> Bronze/ventes_raw/
      |
2. [Data Flow] Nettoyage et transformation
      |-- Filtrer lignes invalides
      |-- Convertir types
      |-- Ajouter colonnes calculées
      |
3. [Copy Data] -> Silver/ventes_clean/
      |
4. [Notebook] Agrégations Spark
      |
5. [Stored Proc] Charger dans DW dédié
      |
6. [Email] Notification de fin
            

Paramètres et variables

// Paramètre de pipeline
@pipeline().parameters.dateDebut

// Variable système
@pipeline().RunId
@utcNow()

// Expression conditionnelle
@if(equals(pipeline().parameters.env, 'prod'),
    'prod-storage',
    'dev-storage')

// Formatage de date
@formatDateTime(utcNow(), 'yyyy/MM/dd')

Triggers

Schedule Trigger

{
  "name": "DailyTrigger",
  "properties": {
    "type": "ScheduleTrigger",
    "recurrence": {
      "frequency": "Day",
      "interval": 1,
      "startTime": "2024-01-01T06:00:00Z",
      "timeZone": "Romance Standard Time"
    }
  }
}

Tumbling Window

Pour traiter des fenêtres de temps avec reprise automatique.

Event Trigger

Déclenche sur l'arrivée d'un fichier dans le storage.

Gestion des erreurs

Stratégies :
  • Connecter les activités par "On failure" pour les cas d'erreur
  • Utiliser des activités "Set Variable" pour tracer l'état
  • Configurer des retries avec intervalle
  • Envoyer des alertes via Logic Apps ou email

Monitoring

Dans Synapse Studio > Monitor :

Bonnes pratiques

  1. Architecture Medallion : Bronze (raw) -> Silver (clean) -> Gold (business)
  2. Idempotence : Les pipelines doivent pouvoir être ré-exécutés sans effet de bord
  3. Paramétrage : Évitez les valeurs en dur, utilisez des paramètres
  4. Logging : Tracez les métriques importantes dans une table de logs
  5. Tests : Testez en dev avant de déployer en prod