Module 5 : Pipelines et Integration de donnees

Introduction aux Pipelines

Les pipelines Synapse permettent d'orchestrer des flux de donnees ETL/ELT. Ils sont bases sur Azure Data Factory et offrent une interface visuelle dans Synapse Studio.

Concepts cles

Activites principales

1. Copy Data

Copie des donnees entre sources :

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

2. Data Flow

Transformations visuelles sans code :

3. Execute Notebook

Execute un notebook Spark dans le pipeline.

4. Stored Procedure

Execute une procedure stockee SQL.

5. Script SQL

Execute un script SQL serverless ou dedie.

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 calculees
      |
3. [Copy Data] -> Silver/ventes_clean/
      |
4. [Notebook] Agregations Spark
      |
5. [Stored Proc] Charger dans DW dedie
      |
6. [Email] Notification de fin
            

Parametres et variables

// Parametre de pipeline
@pipeline().parameters.dateDebut

// Variable systeme
@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 fenetres de temps avec reprise automatique.

Event Trigger

Declenche sur l'arrivee d'un fichier dans le storage.

Gestion des erreurs

Strategies :
  • Connecter les activites par "On failure" pour les cas d'erreur
  • Utiliser des activites "Set Variable" pour tracer l'etat
  • 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 etre re-executes sans effet de bord
  3. Parametrage : Evitez les valeurs en dur, utilisez des parametres
  4. Logging : Tracez les metriques importantes dans une table de logs
  5. Tests : Testez en dev avant de deployer en prod