Partager via


Transformer des données d’une source SAP ODP en utilisant le connecteur CDC SAP dans Azure Data Factory ou 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 explique comment utiliser le flux de données de mappage pour transformer des données d’une source SAP ODP en utilisant le connecteur SAP CDC. Pour en savoir plus, lisez l’article d’introduction pour Azure Data Factory ou Azure Synapse Analytics. Pour une présentation de la transformation des données avec Azure Data Factory et Azure Synapse Analytics, lisez Flux de données de mappage ou le Tutoriel sur les flux de données de mappage.

Conseil

Pour en savoir plus sur la prise en charge générale de l’intégration de données SAP, consultez le livre blanc Intégration de données SAP à l’aide d’Azure Data Factory offrant une présentation détaillée sur chaque connecteur SAP, une comparaison et des conseils.

Fonctionnalités prises en charge

Ce connecteur CDC SAP est pris en charge pour les fonctionnalités suivantes :

Fonctionnalités prises en charge IR
Flux de données de mappage (source/-) ①, ②

① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé

Ce connecteur CDC SAP utilise l’infrastructure SAP ODP pour extraire les données des systèmes sources SAP. Pour une présentation de l’architecture de la solution, lisez Présentation et architecture de la capture des changements de données (CDC) SAP dans notre centre de connaissances SAP.

L’infrastructure SAP ODP est contenue dans tous les systèmes basés sur SAP NetWeaver récents, notamment SAP ECC, SAP S/4HANA, SAP BW, SAP BW/4HANA, SAP LT Replication Server (SLT). Pour connaître les prérequis et les versions minimales nécessaires, consultez Prérequis et configuration.

Le connecteur CDC SAP prend en charge l’authentification de base ou Secure Network Communications (SNC), si SNC est configuré.

Limites actuelles

Voici les limitations actuelles du connecteur SAP CDC dans Data Factory :

  • Vous ne pouvez pas réinitialiser ou supprimer des abonnements ODQ dans Data Factory (utilisez la transaction ODQMON dans le système SAP connecté à cette fin).
  • Vous ne pouvez pas utiliser les hiérarchies SAP avec la solution.

Prérequis

Pour utiliser ce connecteur CDC SAP, reportez-vous à Prérequis et configuration pour le connecteur CDC SAP.

Bien démarrer

Pour effectuer l’activité Copie avec un pipeline, vous pouvez vous servir de l’un des outils ou kits SDK suivants :

Créer un service lié pour le connecteur CDC SAP en utilisant l’interface utilisateur

Suivez les étapes décrites dans Préparer le service lié CDC SAP afin de créer un service lié pour le connecteur CDC SAP dans l’interface utilisateur du portail Azure.

Propriétés du jeu de données

Pour préparer un jeu de données CDC SAP, suivez Préparer le jeu de données source CDC SAP.

Transformer des données avec le connecteur CDC SAP

Le flux de modification SAP ODP brut est difficile à interpréter et sa mise à jour correcte vers un récepteur peut être complexe. Par exemple, les attributs techniques associés à chaque ligne (comme ODQ_CHANGEMODE) doivent être compris pour appliquer correctement les modifications au récepteur. En outre, un extrait de données de modification d’ODP peut contenir plusieurs modifications de la même clé (par exemple, la même commande client). Il est donc important de respecter l’ordre des modifications, tout en optimisant les performances en traitant les modifications en parallèle. En outre, la gestion d’un flux de capture des changements de données nécessite également le suivi de l’état, par exemple afin de fournir des mécanismes intégrés pour la récupération des erreurs. Les flux de données de mappage Azure Data Factory prennent en charge tous ces aspects. Par conséquent, la connectivité SAP CDC fait partie de l’expérience de flux de données de mappage. Ainsi, les utilisateurs peuvent se concentrer sur la logique de transformation requise sans avoir à se préoccuper des détails techniques de l’extraction de données.

Pour démarrer, créez un pipeline avec un flux de données de mappage.

Capture d’écran d’une activité de flux de données dans un pipeline.

Ensuite, spécifiez un service lié et un dossier de processus de site dans Azure Data Lake Gen2, qui sert de stockage intermédiaire pour les données extraites de SAP.

Notes

  • Le service lié de processus de site ne peut pas utiliser un runtime d’intégration auto-hébergé.
  • Le dossier intermédiaire doit être considéré comme un stockage interne du connecteur SAP CDC. Pour d’autres optimisations du runtime SAP CDC, les détails de l’implémentation, comme le format de fichier utilisé pour les données intermédiaires, peuvent changer. Nous vous recommandons donc de ne pas utiliser le dossier intermédiaire à d’autres fins, par exemple en tant que source pour d’autres activités de copie ou de flux de données de mappage.

Capture d’écran de la spécification de dossier intermédiaire dans une activité de flux de données.

La Clé de point de contrôle est utilisée par le runtime de CDC SAP pour stocker les informations d’état sur le processus de capture des changements de données. Cela permet, par exemple, aux flux de données de mappage de CDC SAP d’effectuer une récupération automatique à partir de situations d’erreur, ou de savoir si un processus de capture des changements de données pour un flux de données donné a déjà été établi. Il est donc important d’utiliser une Clé de point de contrôle unique pour chaque source. Sinon, les informations d’état d’une source seront remplacées par une autre source.

Notes

  • Pour éviter les conflits, un ID unique est généré en tant que Clé de point de contrôle par défaut.
  • Lorsque vous utilisez des paramètres pour tirer parti d’un même flux de données pour plusieurs sources, veillez à paramétrer la Clé de point de contrôle avec des valeurs uniques par source.
  • La propriété Clé de point de contrôle n’est pas affichée si le mode Exécution au sein de la source de CDC SAP est défini sur Complet à chaque exécution (voir la section suivante), car dans ce cas, aucun processus de capture des changements de données n’est établi.

Capture d’écran d’une propriété de clé de point de contrôle dans une activité de flux de données.

Clés paramétrables de point de contrôle

Les clés de point de contrôle sont nécessaires pour gérer l’état des processus de capture des changements de données. Pour une gestion efficace, vous pouvez paramétrer la clé de point de contrôle pour autoriser les connexions à différentes sources. Voici un moyen d’implémenter une clé paramétrable de point de contrôle :

  1. Créez un paramètre global pour stocker la clé de point de contrôle au niveau du pipeline pour garantir la cohérence entre les exécutions :

    "parameters": {
     "checkpointKey": {
         "type": "string",
         "defaultValue": "YourStaticCheckpointKey"
     }
    } 
    
  2. Définissez par programmation la clé de point de contrôle pour appeler le pipeline avec la valeur souhaitée à chacune de ses exécutions. Voici un exemple d’appel REST à l’aide de la clé paramétrable de point de contrôle :

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}?api-version=2018-06-01
    Content-Type: application/json
    {
        "properties": {
            "activities": [
                // Your activities here
            ],
            "parameters": {
                "checkpointKey": {
                    "type": "String",
                    "defaultValue": "YourStaticCheckpointKey"
                }
            }
        }
    }
    

Pour obtenir des informations détaillées, reportez-vous aux Rubriques avancées pour le connecteur SAP CDC.

Propriétés du mappage de flux de données

Pour créer un flux de données de mappage en utilisant le connecteur CDC SAP comme source, effectuez les étapes suivantes :

  1. Dans ADF Studio, accédez à la section Flux de données du hub Auteur, sélectionnez le bouton ... pour dérouler le menu Actions du flux de données, puis sélectionnez l’élément Nouveau flux de données. Activez le mode débogage avec le bouton Débogage du flux de données dans la barre supérieure du canevas de flux de données.

    Capture d’écran du bouton de débogage du flux de données dans le flux de données de mappage.

  2. Dans l’éditeur de flux de données de mappage, sélectionnez Ajouter une source.

    Capture d’écran de l’ajout d’une source dans le flux de données de mappage.

  3. Sous l’onglet Paramètres de la source, sélectionnez un jeu de données CDC SAP préparé ou sélectionnez le bouton Nouveau pour en créer un. Vous pouvez également sélectionner Inline dans la propriété Type de source et continuer sans définir de jeu de données explicite.

    Capture d’écran de l’option Sélectionner un jeu de données dans les paramètres de la source du flux de données de mappage.

  4. Sous l’onglet Options de la source, sélectionnez l’option Complet à chaque exécution si vous souhaitez charger des captures instantanées complètes à chaque exécution de votre flux de données de mappage. Sélectionnez Complet lors de la première exécution, puis incrémentiel si vous souhaitez vous abonner à un flux de modification à partir du système source SAP, y compris une capture instantanée de données complète initiale. Dans ce cas, la première exécution de votre pipeline effectue une initialisation delta, ce qui signifie qu’elle crée un abonnement ODP delta dans le système source et retourne une capture instantanée de données complète actuelle. Les exécutions de pipeline suivantes retournent uniquement les modifications incrémentielles depuis l’exécution précédente. L’option modifications incrémentielles uniquement crée un abonnement ODP delta sans retourner une capture instantanée de données complète initiale lors de la première exécution. Là encore, les exécutions suivantes retournent des modifications incrémentielles depuis l’exécution précédente uniquement. Les deux options de chargement incrémentiel nécessitent de spécifier les clés de l’objet source ODP dans la propriété Colonnes clés.

    Capture d’écran de la propriété du mode d’exécution dans les options de la source du flux de données de mappage.

    Capture d’écran de la sélection des colonnes clés dans les options de la source du flux de données de mappage.

  5. Pour les onglets Projection, Optimiser et Inspecter, suivez le Flux de données de mappage.

Optimisation des performances des charges complètes ou initiales avec le partitionnement source

Si le Mode d’exécution est défini sur Complet à chaque exécution ou sur Complet à chaque exécution, puis incrémentiel, l’onglet Optimiser propose un type de sélection et de partitionnement appelé Source. Cette option vous permet de spécifier plusieurs conditions de partition (c’est-à-dire de filtre) pour segmenter un jeu de données source volumineux en plusieurs parties plus petites. Pour chaque partition, le connecteur CDC SAP déclenche un processus d’extraction distinct dans le système source SAP.

Capture d’écran des options de partitionnement sous Optimiser pour la source du flux de données de mappage.

Si les partitions sont de taille égale, le partitionnement source peut augmenter linéairement le débit d’extraction de données. Pour obtenir de telles améliorations des performances, des ressources suffisantes sont requises dans le système source SAP, la machine virtuelle hébergeant le runtime d’intégration auto-hébergé et le runtime d’intégration Azure.