AccueilBlogTest technique Azure Data Factory : pipelines, triggers, DataFlow
Guide recrutement data

Test technique Azure Data Factory : pipelines, triggers, DataFlow

Azure Data Factory est l orchestrateur ETL de référence dans l écosystème Microsoft. En entretien, on évalue la capacité à concevoir des pipelines robustes et à les intégrer dans une architecture Azure.

Data Builder·Juin 2025·6 min de lecture·Data Engineer
Sommaire
  1. Concepts fondamentaux ADF
  2. Pipelines et activités
  3. Linked Services et Datasets
  4. Triggers
  5. Mapping Data Flow
  6. ADF vs Synapse vs Fabric
  7. Grille

1Concepts fondamentaux ADF

Question discriminante

Quels sont les 4 composants principaux d Azure Data Factory ?

  • Pipelines — workflows d activités, équivalent d un DAG Airflow
  • Activities — chaque étape : Copy Data, Data Flow, Stored Procedure, Web Activity, Databricks Notebook
  • Linked Services — connexions aux sources et destinations (SQL Server, Blob Storage, REST API, Snowflake...)
  • Datasets — représentation d une structure de données dans un Linked Service (table SQL, fichier CSV...)
  • Integration Runtime — moteur d exécution : Azure IR (cloud), Self-hosted IR (on-premise), SSIS IR

2Pipelines : orchestration des activités

Question discriminante

Comment gérez-vous les dépendances entre activités dans ADF ? Et les erreurs ?

// Structure d un pipeline ADF typique (JSON ARM template) { 'name': 'pipeline_ingestion_ventes', 'activities': [ { 'name': 'CopyFromSource', 'type': 'Copy', 'dependsOn': [], 'inputs': [{'referenceName': 'SourceDataset'}], 'outputs': [{'referenceName': 'StagingDataset'}] }, { 'name': 'TransformData', 'type': 'DatabricksNotebook', 'dependsOn': [{ 'activity': 'CopyFromSource', 'dependencyConditions': ['Succeeded'] // ou Failed, Skipped, Completed }] }, { 'name': 'OnFailure_Alert', 'type': 'WebActivity', 'dependsOn': [{ 'activity': 'TransformData', 'dependencyConditions': ['Failed'] }] } ] }
  • dependencyConditions — Succeeded, Failed, Skipped, Completed. Permet de créer des branches conditionnelles
  • Try-Catch — activer une alerte en cas d échec via WebActivity (webhook Slack/Teams)

3Linked Services et paramétrage

Question discriminante

Comment évitez-vous de dupliquer vos Linked Services pour DEV/PROD ?

  • Parameters — paramétrer les Linked Services avec des variables d environnement
  • Azure Key Vault — stocker les credentials dans Key Vault, ADF y accède via Managed Identity. Jamais de mot de passe en dur
  • Global Parameters — paramètres partagés par tous les pipelines (environnement, date de référence)
  • Managed Identity — ADF s authentifie sur les services Azure sans stocker de credentials

4Triggers : déclencher les pipelines

Question discriminante

Quels types de triggers ADF connaissez-vous ? Dans quel cas utilisez-vous chacun ?

TriggerDéclenchementCas d usage
ScheduleCRON planifiéRafraîchissement quotidien, rapports hebdomadaires
Tumbling WindowFenêtres fixes, backfill possibleTraitement par tranches horaires, avec retry et dépendances
Event-basedArrivée d un fichier dans Blob StorageIngestion déclenchée par l arrivée de fichiers partenaires
ManualDéclenchement manuel ou via API RESTTests, reprises, triggers depuis une autre application

5Mapping Data Flow : transformation visuelle

Question discriminante

Quand utilisez-vous Mapping Data Flow plutôt qu une activité Databricks ?

  • Mapping Data Flow — transformation de données en mode no-code/low-code dans ADF. S exécute sur Spark managé
  • Cas d usage — transformations standard (filtres, jointures, pivots, aggrégations) sans expertise Spark
  • Limites — moins flexible qu un notebook Databricks, plus cher à l exécution que du SQL natif
  • Databricks Activity — préférer pour la logique complexe, le ML, ou quand l équipe maîtrise Python/Spark
  • Stored Procedure — préférer pour les transformations SQL natives dans Azure SQL ou Synapse

6ADF vs Azure Synapse vs Microsoft Fabric

Question discriminante

Comment positionnez-vous ADF, Synapse et Fabric ?

ServiceRôleIdéal pour
Azure Data FactoryOrchestration ETL/ELT pureIngestion et mouvement de données, intégration d outils tiers
Azure SynapseAnalytics + intégration + SparkSQL Analytics + pipelines Spark dans une interface unifiée
Microsoft FabricPlateforme unifiée MicrosoftNouvelle stack end-to-end (Power BI + Synapse + ADF) sur OneLake

Tendance 2025 : Microsoft pousse vers Fabric comme plateforme unifiée. ADF reste pertinent pour les intégrations avec des systèmes non-Microsoft.

# Paramétrage d'un pipeline ADF (éviter les duplications) # pipeline_copy_table.json { "parameters": { "source_table": {"type": "String"}, "start_date": {"type": "String", "defaultValue": "@utcnow()"}, "container": {"type": "String", "defaultValue": "raw"} }, "activities": [{ "name": "CopyData", "type": "Copy", "typeProperties": { "source": { "type": "SqlServerSource", "sqlReaderQuery": "SELECT * FROM @{pipeline().parameters.source_table} WHERE updated_at >= '@{pipeline().parameters.start_date}'" }, "sink": { "type": "ParquetSink", "storeSettings": {"type": "AzureBlobFSWriteSettings"} } } }] }
  • Integration Runtime self-hosted — pour les sources on-premise (SQL Server datacenter). Installer l'IR sur un serveur Windows avec accès réseau à la source
  • CI/CD ADF — connecter ADF à Git Azure DevOps. Développer sur feature branch, merger vers main déclenche le déploiement automatique via ARM templates
  • Data Flows — transformations visuelles Spark-backed dans ADF. Éviter pour la logique complexe : préférer Databricks ou dbt pour la maintenabilité
  • Triggers — Schedule, Tumbling Window (rattrapages possibles), Event-based (déclenchement sur création de fichier dans ADLS)
  • Cost control — les activités Lookup et ForEach avec beaucoup d'itérations coûtent cher. Préférer les Copy Activities en batch plutôt que ligne par ligne
# Pipeline ADF parametrable # pipeline_copy_table.json { "parameters": { "source_table": {"type": "String"}, "start_date": {"type": "String"}, "container": {"type": "String", "defaultValue": "raw"} }, "activities": [{ "name": "CopyData", "type": "Copy", "typeProperties": { "source": { "type": "SqlServerSource", "sqlReaderQuery": "SELECT * FROM @{pipeline().parameters.source_table} WHERE updated_at >= '@{pipeline().parameters.start_date}'" }, "sink": {"type": "ParquetSink"} } }] }
  • Integration Runtime self-hosted - pour les sources on-premise (SQL Server datacenter). Installer l IR sur un serveur Windows avec acces reseau a la source
  • CI/CD ADF - connecter ADF a Git Azure DevOps. Merger vers main declenche le deploiement automatique via ARM templates
  • Triggers Event-based - declencher un pipeline sur creation de fichier dans ADLS Gen2. Remplace le polling par des evenements
  • Data Flows - transformations visuelles Spark-backed dans ADF. Pour la logique complexe, preferer Databricks ou dbt pour la maintenabilite
  • Cost control - les activites Lookup et ForEach avec beaucoup d iterations coutent cher. Preferer les Copy Activities en batch

7Grille par niveau

NiveauMaitriseSignal GONO-GO
ConfirméPipelines, Copy Activity, Schedule Trigger, Key VaultA déployé un pipeline Copy + transformation, utilise Key VaultStocke les mots de passe en dur dans les Linked Services
SeniorTumbling Window, Event Trigger, Mapping Data Flow, ARM templatesA configuré un Event Trigger, déploie via ARM/CI-CD, justifie ADF vs DatabricksNe sait pas la différence entre Schedule et Tumbling Window

Vous recrutez un Data Engineer Azure ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.