Capture des changements de données dans Azure Data Factory et Azure Synapse Analytics
S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics
Conseil
Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !
Cet article décrit la capture des changements de données (CDC) dans Azure Data Factory.
Pour en savoir plus, consultez Aperçu d’Azure Data Factory ou Aperçu d’Azure Synapse.
Vue d’ensemble
Lorsque vous effectuez l’intégration des données et les processus ETL dans le cloud, vos tâches peuvent s’exécuter mieux et de façon plus efficace lorsque vous lisez uniquement les données sources qui ont changé depuis la dernière exécution du pipeline, plutôt que de toujours interroger un jeu de données entier à chaque exécution. ADF fournit plusieurs méthodes différentes pour vous permettre d’obtenir facilement des données delta seulement depuis la dernière exécution.
Ressource de fabrique Capture des changements de données
Le moyen le plus simple et le plus rapide de démarrer dans la fabrique de données avec la capture des changements de données (CDC) consiste à utiliser la ressource Capture des changements de données au niveau de la fabrique. Dans le concepteur de pipeline principal, cliquez sur Nouveau dans Ressources Factory pour créer une nouvelle capture des changements de données. La ressource de Factory de capture des changements de données (CDC, Change Data Capture) fournit une expérience de configuration accompagnée dans laquelle vous pouvez sélectionner vos sources et destinations, appliquer d’éventuelles transformations, puis cliquer sur démarrer pour commencer votre capture de données. La ressource CDC vous permet d’éviter de concevoir des pipelines ou des activités de flux de données. De plus, vous devez uniquement payer quatre cœurs de flux de données à usage général pendant le traitement de vos données. Vous pouvez définir une latence de préférence utilisée par ADF pour sortir de veille et rechercher des données modifiées. C’est la seule fois que vous serez facturé. La ressource CDC de niveau supérieur est également la méthode ADF d’exécution de vos processus en continu. Les pipelines dans ADF fonctionnent uniquement par lots, mais la ressource CDC peut s’exécuter en continu.
Capture de données modifiées natives dans le flux de données de mappage
Les données modifiées, y compris les lignes insérées, mises à jour et supprimées, peuvent être détectées et extraites automatiquement par le flux de données de mappage ADF dans les bases de données sources. Aucune colonne d’horodatage ou d’ID n’est nécessaire pour identifier les modifications, car il utilise la technologie de capture de données modifiées native dans les bases de données. En chaînant simplement une transformation source et une référence de transformation de récepteur à un jeu de données de base de données dans un flux de données de mappage, vous voyez les modifications qui se sont produites sur la base de données sources qui sont appliquées automatiquement à la base de données cibles. Cela vous permet de synchroniser facilement les données entre deux tableaux. Vous pouvez aussi y ajouter des transformations pour permettre à une logique métier de traiter les données delta. Lors de la définition de la destination des données de votre récepteur, vous pouvez définir des opérations d’insertion, de mise à jour, d’upsert et de suppression dans votre récepteur sans avoir besoin d’une transformation de modification de ligne (Alter Row), car ADF est en mesure de détecter automatiquement les marqueurs de lignes.
Connecteurs pris en charge
- SAP CDC
- Azure SQL Database
- SQL Server
- Azure SQL Managed Instance
- Azure Cosmos DB (API SQL)
- Magasin analytique Azure Cosmos DB
- Snowflake
Extraction incrémentielle automatique dans le flux de données de mappage
Les lignes ou fichiers nouvellement mis à jour peuvent être détectés et extraits automatiquement par le flux de données de mappage ADF dans les magasins sources. Quand vous voulez obtenir des données delta dans des bases de données, la colonne incrémentielle est nécessaire pour identifier les modifications. Quand vous voulez charger de nouveaux fichiers ou des fichiers mis à jour seulement depuis un magasin de stockage, le flux de données de mappage ADF utilise simplement l’heure de la dernière modification des fichiers.
Connecteurs pris en charge
- Stockage Blob Azure
- ADLS Gen2
- ADLS Gen1
- Azure SQL Database
- SQL Server
- Azure SQL Managed Instance
- Azure Database pour MySQL
- Base de données Azure pour PostgreSQL
- Modèle de données courant
Extraction de données delta gérées par le client dans un pipeline
Vous pouvez toujours créer votre propre pipeline d’extraction de données delta pour tous les magasins de données pris en charge par ADF, y compris en utilisant une activité de recherche pour obtenir la valeur de filigrane stockée dans une table de contrôle externe, une activité de copie ou de mappage de flux de données pour interroger les données delta sur la colonne d’horodatage ou d’ID, et une activité SP pour réécrire la nouvelle valeur de filigrane dans votre table de contrôle externe pour l’exécution suivante. Quand vous voulez charger de nouveaux fichiers seulement depuis un magasin de stockage, vous pouvez supprimer des fichiers chaque fois qu’ils ont pu être déplacés vers la destination, ou tirer parti des noms de dossier ou de fichier partitionné sur la base du temps ou de l’heure de dernière modification pour identifier les nouveaux fichiers.
Bonnes pratiques
Capture des changements de données dans les bases de données
- La capture de données modifiées native est toujours recommandée comme moyen le plus simple d’obtenir des données modifiées. Elle entraîne également beaucoup moins de charge sur votre base de données source quand ADF extrait les données modifiées pour un traitement ultérieur.
- Si vos magasins de bases de données ne font pas partie de la liste des connecteurs ADF avec prise en charge de la capture de données modifiées native, nous vous recommandons d’utiliser l’option d’extraction incrémentielle automatique, où vous devez seulement entrer une colonne incrémentielle pour capturer les modifications. ADF s’occupe du reste, notamment la création d’une requête dynamique pour le chargement delta et la gestion du point de contrôle pour chaque exécution d’activité.
- L’extraction de données delta gérée par le client dans un pipeline couvre toutes les bases de données prises en charge par ADF et vous donne la possibilité de contrôler tout par vous-même.
Capture des changements de fichiers dans les stockages basés sur des fichiers
- Quand vous voulez charger des données depuis le Stockage Blob Azure, Azure Data Lake Storage Gen2 ou Azure Data Lake Storage Gen1, le flux de données de mappage vous offre la possibilité d’obtenir des fichiers nouveaux ou mis à jour en un seul clic. C’est la méthode la plus simple et qui est recommandée pour obtenir une charge delta auprès de ces stockages basés sur des fichiers dans le flux de données de mappage.
- Vous pouvez découvrir plus de bonnes pratiques.
Point de contrôle
Quand vous activez les options de capture de données modifiées native ou d’extraction incrémentielle automatique dans le flux de données de mappage ADF, ADF vous aide à gérer le point de contrôle pour garantir que chaque exécution d’activité va lire automatiquement les données sources qui ont changé depuis la dernière exécution du pipeline. Par défaut, le point de contrôle est couplé au nom de votre pipeline et de votre activité. Si vous changez le nom de votre pipeline ou de votre activité, le point de contrôle est réinitialisé, ce qui vous oblige à recommencer depuis le début ou à récupérer les prochaines modifications lors de la prochaine exécution. Pour changer le nom du pipeline ou le nom de l’activité en gardant le point de contrôle afin d’obtenir automatiquement les changements de données de la dernière exécution, utilisez votre propre clé de point de contrôle dans l’activité de flux de données. La règle de nommage de votre propre clé de point de contrôle est identique à celle des services liés, des jeux de données, des pipelines et des flux de données.
Lorsque vous déboguez le pipeline, cette fonctionnalité fonctionne de la même façon. Le point de contrôle est réinitialisé quand vous actualisez votre navigateur lors de l’exécution du débogage. Une fois que vous êtes satisfait du résultat du pipeline de l’exécution du débogage, vous pouvez publier et déclencher le pipeline. Au moment où vous déclenchez pour la première fois votre pipeline publié, il redémarre automatiquement à partir du début ou obtient les modifications à partir de ce moment-là.
Dans la section de monitoring, vous avez toujours la possibilité de réexécuter un pipeline. Dans ce cas, les données modifiées sont toujours capturées à partir du point de contrôle précédent de votre exécution de pipeline sélectionnée.
Tutoriels
Voici les tutoriels permettant de démarrer la capture des données modifiées dans Azure Data Factory et Azure Synapse Analytics.
- Tutoriel sur la capture de données modifiées de SAP dans ADF
- Tutoriels sur la copie de données de façon incrémentielle depuis un magasin de données source vers un magasin de données de destination
Modèles
Voici les modèles permettant d’utiliser la capture des changements de données dans Azure Data Factory et Azure Synapse Analytics.