Partager via


Qu’est-ce que le travail de copie dans Data Factory pour Microsoft Fabric ?

La fonction de copie est la solution de référence dans Microsoft Fabric Data Factory pour simplifier le déplacement des données d'une multitude de sources vers une multitude de destinations. Aucun pipeline n’est nécessaire. Avec la prise en charge native de plusieurs styles de livraison, notamment la copie en bloc, la copie incrémentielle et la réplication par capture des données de changement (CDC), la tâche de copie offre une flexibilité nécessaire pour gérer un large éventail de scénarios de déplacement de données, tout en offrant une expérience intuitive et facile à utiliser. Que vous soyez nouveau dans l'intégration des données ou que vous cherchiez simplement un moyen plus rapide pour acheminer vos données là où elles doivent aller, la fonctionnalité Copy job offre une solution flexible et facile à utiliser.

Advantages

Voici certains avantages du travail de copie par rapport à d’autres méthodes de déplacement des données :

  • Facile à utiliser : configurez et surveillez la copie des données avec une expérience simple et guidée , aucune expertise technique n’est nécessaire.
  • Efficace : copiez uniquement les données nouvelles ou modifiées de la dernière exécution pour gagner du temps et des ressources, avec des étapes manuelles minimales.
  • Flexible : choisissez les données à déplacer, mapper des colonnes, définir la façon dont les données sont écrites et planifier des travaux à exécuter une fois ou régulièrement.
  • Hautes performances : déplacez de grandes quantités de données rapidement et de manière fiable, grâce à un système serverless et évolutif.

Capture d’écran montrant le travail de copie et son volet de résultats.

Vous pouvez également consulter la stratégie de déplacement des données pour voir comment la tâche de copie se compare à la mise en miroir et à l’opération de copie dans les pipelines.

Les concepts

Modes de copie (copie complète, copie incrémentielle)

Vous pouvez choisir la façon dont vos données sont copiées de la source vers la destination :

  • Copie complète : chaque fois que le travail s’exécute, il copie toutes les données de votre source vers votre destination.
  • Copie incrémentielle : la première exécution copie tout, et les exécutions suivantes déplacent uniquement les données nouvelles ou modifiées depuis la dernière exécution.

Copie incrémentielle (CDC, Filigrane)

Dans la copie incrémentielle, chaque exécution après la copie complète initiale (appelée « chargement ultérieur ») transfère uniquement certaines modifications. Le travail de copie effectue automatiquement le suivi et gère l’état de la dernière exécution réussie. Il sait donc quelles données copier ensuite.

  • Lorsque Copy job copie des données à partir d’une base de données à l’aide d’une colonne d'incrémentation (« colonne de filigrane »), chaque chargement ultérieur copie uniquement les lignes avec une valeur dans cette colonne supérieure à toute ligne précédemment copiée.
  • Lorsqu'un job de copie copie à partir d'une base de données avec CDC activé, chaque chargement suivant copie toutes les lignes insérées, mises à jour ou supprimées depuis la dernière exécution réussie.
  • Lorsque le travail copie des fichiers, chaque chargement ultérieur copie uniquement ces fichiers créés ou modifiés depuis la dernière exécution réussie.

Le travail de copie prend en charge les types de colonnes de filigrane suivants pour la copie incrémentielle à partir d’une base de données :

  • ROWVERSION : colonne binaire qui change automatiquement chaque fois qu’une ligne est modifiée. Il est idéal pour les systèmes SQL avec des charges de travail transactionnelles à débit élevé, car chaque insertion ou mise à jour est capturée de manière fiable sans dépendre des horodatages gérés par l’application.
  • Datetime : colonnes Datetime telles que LastUpdatedDatetime ou ModifiedAt qui stockent à la fois la date et l’heure. Le travail de copie utilise l’horodatage précis pour suivre la progression incrémentielle entre les exécutions. Datetime est préférable lorsque votre source effectue le suivi des modifications avec une précision haute fréquence.
  • Date : colonnes date uniquement telles que LastUpdatedDate. Étant donné que les valeurs de date n’incluent pas de composant d’heure, la tâche de copie effectue automatiquement une extraction différée du dernier jour afin d'éviter toute perte de données ou chevauchement entre les exécutions, tout en gérant de manière sécurisée les fenêtres incrémentielles. La date convient aux processus de traitement par lots quotidiens.
  • Chaîne (interprétée comme datetime) : colonnes de chaîne dont les valeurs peuvent être interprétées comme datetime. Cela vous permet d’utiliser la copie incrémentielle même lorsque les horodatages sont stockés en tant que chaînes, sans avoir besoin de convertir ou de transformer des colonnes ou d’apporter des modifications de schéma dans la source.
  • Entier : nombre croissant qui suit les modifications de ligne.

Si la capture des modifications est activée, vous n’avez pas besoin de choisir une colonne incrémentielle : la tâche de copie détecte automatiquement les modifications.

Si une tâche de copie échoue, vous n’avez pas besoin de vous soucier de la perte de données. Le travail de copie reprend toujours à partir de la fin de la dernière exécution réussie. Un échec ne modifie pas l'état géré par une tâche de copie.

Pour plus d’informations sur la capture des modifications de données (CDC) dans le travail de copie.

Réinitialiser la copie incrémentielle

Vous avez la possibilité de gérer la copie incrémentielle, y compris la possibilité de la réinitialiser sur une copie complète lors de la prochaine exécution. Cela est incroyablement utile lorsqu’il existe un écart de données entre votre source et votre destination. Vous pouvez simplement laisser la Tâche de copie effectuer une copie complète lors de l'exécution suivante pour résoudre le problème, puis continuer à mettre à jour de manière incrémentielle par la suite.

Vous pouvez réinitialiser la copie incrémentielle soit pour l'ensemble du travail, soit par table, ce qui vous permet un contrôle granulaire. Par exemple, vous pouvez recopier des tables plus petites sans avoir d’impact sur celles plus grandes. Cela signifie une résolution plus intelligente des problèmes, moins d’interruption et un déplacement de données plus efficace.

Dans certains cas, lorsque vous modifiez un travail de copie (par exemple, la mise à jour de la colonne incrémentielle dans votre table source), cela réinitialise la copie incrémentielle à une copie complète lors de l’exécution suivante. Cela garantit la cohérence des données entre la source et la destination.

Méthodes de mise à jour (Append, Overwrite, Merge, SCD Type 2)

Vous pouvez également décider de la façon dont les données sont écrites dans votre destination :

Par défaut, le travail de copie ajoute de nouvelles données, de sorte que vous conservez un historique complet. Si vous préférez, vous pouvez choisir de fusionner (mettre à jour les lignes existantes à l’aide d’une colonne clé), remplacer (remplacer les données existantes) ou SCD Type 2 (conserver l’historique des modifications avec une date effective). Si vous sélectionnez fusionner ou SCD Type 2, le travail de copie utilise la clé primaire par défaut, s’il en existe un.

  • Lors de la copie dans une base de données : de nouvelles lignes sont ajoutées à vos tables. Pour les bases de données prises en charge, vous pouvez également choisir de fusionner, remplacer ou utiliser SCD Type 2 pour les données existantes.
  • Lors de la copie vers le stockage : les nouvelles données sont enregistrées en tant que nouveaux fichiers. Si un fichier portant le même nom existe déjà, il est remplacé.

Lors de l’exécution d’une copie incrémentielle à partir de la source et de la fusion dans la destination, les lignes de la source sont insérées ou mises à jour dans la destination. Lors de l’exécution de la réplication CDC à partir de la source et de la fusion vers la destination, les lignes de la source sont insérées, mises à jour ou supprimées à la destination. Lors de l’utilisation de SCD Type 2 avec la réplication CDC, les modifications sont conservées en tant que lignes versionnées avec datation effective et les suppressions sont gérées comme suppressions logiques.

Pour plus d’informations sur SCD Type 2, consultez la tâche CDC Copy.

Création et troncation automatiques de tables sur la destination

Le job de copie peut créer automatiquement des tables dans la destination si elles n’existent pas déjà. Si les tables de destination sont déjà disponibles, vous pouvez simplement les sélectionner comme cible. Avec des options de mappage de colonnes flexibles, vous pouvez facilement définir comment mapper des schémas des tables sources aux tables de destination.

Vous pouvez également tronquer les données de destination avant la charge complète, en veillant à ce que leur source et leur destination soient entièrement synchronisées sans doublons.

Par défaut, le travail de copie ne supprime aucune donnée dans la destination. Lorsque vous activez cette option :

  • La première exécution de la copie incrémentielle tronque toutes les données de la destination avant de charger le jeu de données complet.
  • Les copies incrémentielles suivantes continueront d’ajouter ou de fusionner des données sans affecter les enregistrements existants.
  • Si les clients réinitialisent ultérieurement la copie incrémentielle en copie complète, l’activation de cette option efface à nouveau la destination avant le chargement.

Cette approche garantit que votre destination reste propre, entièrement synchronisée et sans doublons, ce qui constitue une base fiable pour leur solution d’ingestion de données.

Connecteur Création automatique de tables Tronquer la destination avant le chargement complet
base de données Azure SQL
Azure SQL Managed Instance
Azure Synapse pool SQL
Table Fabric Lakehouse
Fabric Warehouse
SQL Server sur site
Oracle
Flocon de neige
Base de données SQL dans Fabric (préversion)

Colonnes d’audit

Les colonnes d’audit sont des colonnes de métadonnées supplémentaires que le job de copie peut ajouter automatiquement à chaque ligne qu'il écrit dans la destination cible. Lorsque vous activez les colonnes d’audit, chaque ligne de votre table de destination peut être enrichie avec des informations telles que :

  • Temps d’extraction de données
  • Chemin d’accès au fichier source
  • ID de l’espace de travail, ID de l’opération de copie, ID d’exécution de l’opération de copie et nom de l’opération de copie
  • Limite inférieure et limite supérieure de la fenêtre incrémentielle
  • Valeurs personnalisées définies par l’utilisateur

Avec les colonnes d'audit, vous bénéficiez d'une provenance des données au niveau des lignes sans besoin de code personnalisé, ce qui permet la génération de rapports de conformité, le débogage de la qualité des données et le suivi de la fraîcheur de l'ingestion des données.

Pour plus d’informations, consultez les colonnes Audit dans le travail de copie.

Efficacité

Le travail de copie optimise automatiquement les performances de copie en fonction du volume de données, de sorte que vous obtenez un déplacement rapide des données sans réglage manuel. Que vous copiez une petite table de recherche ou un journal des transactions volumineux, le processus de copie adopte automatiquement la stratégie appropriée pour chaque table.

Lorsque vous copiez des données à partir de tables volumineuses, vous pouvez également, au besoin, activer le partitionnement automatique (version préliminaire). Avec le partitionnement automatique, la tâche de copie analyse le schéma source et les caractéristiques des données pour déterminer la stratégie de partitionnement optimale. Il sélectionne automatiquement la colonne de partition appropriée, calcule les limites équilibrées et exécute des lectures parallèles, sans aucune entrée utilisateur. Cela peut augmenter considérablement le débit pour les jeux de données volumineux. Vous pouvez activer l'option de partitionnement automatique sous Paramètres avancés dans votre travail de copie.

Le partitionnement automatique est pris en charge pour la copie incrémentielle basée sur des filigranes, comprenant à la fois la copie complète initiale et la copie incrémentielle, sur les connecteurs suivants : Amazon RDS pour SQL Server, Azure SQL Database, Azure Synapse Analytics (pool SQL), Fabric Data Warehouse, base de données SQL dans Fabric, SQL Server et Azure SQL Managed Instance.

Options d’exécution (Exécuter, Planifier, Déclencheur d’événement)

Vous disposez d’une flexibilité totale pour décider quand un travail de copie s’exécute : il peut s’exécuter une seule fois ou selon une planification. Même si un travail est planifié, vous pouvez toujours sélectionner Exécuter à tout moment pour le déclencher manuellement. Dans la copie incrémentielle, le travail déclenché manuellement transfère toujours uniquement les modifications depuis la dernière exécution.

Avec la prise en charge de plusieurs planifications dans le travail de copie, vous bénéficiez d’un meilleur contrôle. Un travail de copie unique peut avoir plusieurs planifications( par exemple, un en cours d’exécution tous les jours à 6 h et un autre exécuté tous les jours le dimanche). Toutes les planifications peuvent être gérées directement dans le même travail de copie, rendant l’orchestration plus simple, plus propre et plus efficace.

Si vous utilisez l’activité de travail de copie dans un pipeline, vous pouvez également tirer parti des fonctionnalités d’orchestration et de déclencheur du pipeline. Par exemple, vous pouvez utiliser des déclencheurs d’événements pour démarrer une activité de travail de copie lorsque des événements spécifiques se produisent, tels que de nouveaux fichiers arrivant dans un lac de données ou des modifications dans une base de données.

Pour plus d’informations sur l’activité des travaux de copie, consultez cette rubrique.

Options d’hébergement (réseau virtuel, local, cloud)

Vous pouvez utiliser le travail de copie pour déplacer des données de n’importe quelle source vers n’importe quelle destination, que vos données soient locales, dans le cloud ou dans un réseau virtuel. Dans la page de connexion du travail de copie, vous pouvez choisir parmi plusieurs options d’hôte, notamment une passerelle locale ou une passerelle de réseau virtuel, pour accéder en toute sécurité aux données derrière un pare-feu ou au sein d’un réseau virtuel.

Pour en savoir plus sur Sécurisez le transfert de vos données avec Copy Job et Virtual Network Data Gateway.

Opérationnalisation(GIT/CICD, bibliothèque de variables)

Vous pouvez utiliser le contrôle de code source, l’intégration continue, le déploiement continu et un environnement collaboratif pour exécuter des projets d'analyse de données réussis avec Copy job.

En outre, avec la prise en charge de la bibliothèque de variables, vous pouvez paramétrer les connexions dans la tâche de copie. Cette fonctionnalité puissante simplifie ci/CD en externalisant les valeurs de connexion, ce qui vous permet de déployer le même travail de copie dans plusieurs environnements, tandis que la bibliothèque de variables injecte la connexion correcte pour chaque étape.

Pour plus d’informations, consultez CI/CD pour le travail de copie.

Observability

Pour plus d’informations, voir comment surveiller une tâche de copie et l’analyse de l’espace de travail pour le travail de copie

Disponibilité dans les régions

Le travail de copie a la même disponibilité régionale que celle de Fabric.

Tarification

Vous pouvez obtenir les détails dans la tâche de tarification Copy.

Connecteurs pris en charge

Avec la fonction de copie, vous pouvez déplacer vos données entre des magasins de données cloud ou à partir de sources locales situées derrière un pare-feu ou à l'intérieur d'un réseau virtuel à l'aide d'une passerelle.

Consultez la page des connecteurs pris en charge pour obtenir la liste complète des sources et destinations prises en charge :

Envoyez vos commentaires sur Les idées fabric et rejoignez la conversation sur la communauté Fabric.

Mappage de types de données

L’activité de copie dans les pipelines et la tâche de copie réalisent le mappage des types sources vers les types de destination selon le flux suivant :

  1. Convertissez des types de données natifs sources en types de données intermédiaires utilisés par Fabric Data Factory.
  2. Convertissez automatiquement le type de données intermédiaire en fonction des besoins pour correspondre aux types de destination correspondants.
  3. Convertissez des types de données intermédiaires en types de données natifs de destination.

L’activité de copie dans les pipelines et le travail de copie prennent actuellement en charge les types de données intermédiaires suivants : Boolean, Byte, Byte array, Datetime, DatetimeOffset, Decimal, Double, GUID, Int16, Int32, Int64, SByte, Single, String, Timespan, UInt16, UInt32 et UInt64.

Les conversions de types de données suivantes sont prises en charge entre les types intermédiaires de la source à la destination.

Source\Destination Booléen Tableau d’octets Date/Heure Décimal Point flottant GUID Nombre entier Chaîne TimeSpan
Booléen
Tableau d’octets
Date/Heure
Décimal
Point flottant
GUID
Nombre entier
Chaîne
TimeSpan

(1) Date/Heure inclut DateTime, DateTimeOffset, Date et Heure.

(2) Virgule flottante inclut Simple et Double.

(3) Integer inclut SByte, Byte, Int16, UInt16, Int32, UInt32, Int64 et UInt64.

Pour découvrir les conversions détaillées de type de données pour un connecteur particulier, accédez à l’article de configuration de l’activité de copie pour ce connecteur à partir d’ici.

Note

Actuellement, cette conversion de type de données est prise en charge lors de la copie entre les données tabulaires. Les sources/destinations hiérarchiques ne sont pas prises en charge, ce qui signifie qu’il n’existe aucune conversion de type de données définie par le système entre les types intermédiaires source et de destination.