Répliquer plusieurs objets à partir de SAP via SAP CDC

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 un modèle de solution que vous pouvez utiliser pour répliquer plusieurs objets ODP à partir de SAP via le connecteur SAP CDC vers Azure Data Lake Gen2 au format Delta avec une partition de clé.

À propos de ce modèle de solution

Ce modèle lit un fichier de contrôle externe au format json sur votre magasin de stockage, qui contient vos contextes SAP ODP, les objets SAP ODP et les colonnes clés du système source SAP ainsi que vos conteneurs, dossiers et partitions du magasin de destination Azure Data Lake Gen2. Il copie ensuite chacun des objets SAP ODP du système SAP vers Azure Data Lake Gen2 au format Delta.

Le modèle comporte trois activités :

  • La recherche récupère la liste d’objets SAP ODP à charger et le chemin du magasin de destination à partir d’un fichier de contrôle externe sur votre magasin Azure Data Lake Gen2.
  • ForEach obtient la liste d’objets SAP ODP à partir de l’activité Recherche et itère chaque objet sur l’activité de flux de données de mappage.
  • Le flux de données de mappage réplique chaque objet SAP ODP du système SAP vers Azure Data Lake Gen2 au format Delta. Il effectue un chargement complet initial lors de la première exécution, puis un chargement incrémentiel automatique lors des exécutions suivantes. Il fusionne les modifications dans Azure Data Lake Gen2 au format Delta.

Un fichier de contrôle externe au format json est demandé dans ce modèle. Le schéma du fichier de contrôle est le suivant.

  • checkPointKey est votre clé personnalisée pour gérer le point de contrôle de votre capture de données modifiée dans ADF. Vous pouvez obtenir plus de détails ici.
  • sapcontext est votre contexte SAP ODP provenant du système SAP source. Vous pouvez obtenir plus de détails ici.
  • sapObjectName est le nom de votre objet SAP ODP à charger à partir du système SAP. Vous pouvez obtenir plus de détails ici.
  • sapRunMode permet de déterminer la façon dont vous souhaitez charger l’objet SAP. Il peut s’agir de fullLoad, de incrementalLoad ou de fullAndIncrementalLoad.
  • sapKeyColumns représente les noms de vos colonnes clés provenant des objets SAP ODP utilisés pour effectuer la déduplication dans le flux de données de mappage.
  • sapPartitions est une liste de conditions de partition menant à des processus d’extraction distincts dans le système SAP connecté.
  • deltaContainer est le nom de votre conteneur dans Azure Data Lake Gen2 en tant que magasin de destination.
  • deltaFolder est le nom de votre dossier dans Azure Data Lake Gen2 en tant que magasin de destination.
  • deltaKeyColumns sont vos colonnes utilisées pour déterminer si une ligne de la source correspond à une ligne du récepteur lorsque vous souhaitez mettre à jour ou supprimer une ligne.
  • deltaPartition est votre colonne utilisée dans la création des partitions pour chaque valeur unique dans cette colonne, afin d’écrire des données au format Delta sur Azure Data Lake Gen2 via un cluster Spark utilisé par le flux de données de mappage. Vous pouvez obtenir plus de détails ici.

Un exemple de fichier de contrôle est le suivant :

[
  {
    "checkPointKey":"CheckPointFor_ZPERFCDPOS$F",
    "sapContext": "ABAP_CDS",
    "sapObjectName": "ZPERFCDPOS$F",
    "sapRunMode": "fullAndIncrementalLoad",
    "sapKeyColumns": [
      "TABKEY"
    ],
    "sapPartitions": [
	[{
        "fieldName": "TEXTCASE",
        "sign": "I",
        "option": "EQ",
        "low": "1"
       },
       {
        "fieldName": "TEXTCASE",
        "sign": "I",
        "option": "EQ",
        "low": "X"
      }]
    ],
    "deltaContainer":"delta",
    "deltaFolder":"ZPERFCDPOS",
    "deltaKeyColumns":["TABKEY"],
    "deltaPartition":"TEXTCASE",
    "stagingStorageFolder":"stagingcontainer/stagingfolder"
  },
  {
    "checkPointKey":"CheckPointFor_Z0131",
    "sapContext": "SAPI",
    "sapObjectName": "Z0131",
    "sapRunMode": "incrementalLoad",
    "sapKeyColumns": [
      "ID"
    ],
    "sapPartitions": [],
    "deltaContainer":"delta",
    "deltaFolder":"Z0131",
    "deltaKeyColumns":["ID"],
    "deltaPartition":"COMPANY",
    "stagingStorageFolder":"stagingcontainer/stagingfolder"
  }
]

Utiliser ce modèle de solution

  1. Créez un fichier de contrôle au format json et chargez-le sur Azure Data Lake Gen2 en tant que magasin de destination. Le conteneur par défaut pour stocker le fichier de contrôle est demo et le nom du fichier de contrôle par défaut est SapToDeltaParameters.json.

  2. Accédez au modèle Répliquer plusieurs tables de SAP ODP vers Azure Data Lake Storage Gen2 au format Delta et cliquez dessus.

    Screenshot of SAP CDC search template.

  3. Cliquez sur Continuer et entrez votre service lié connecté au système SAP comme source et le service lié connecté à Azure Data Lake Gen2 comme destination. Vous pouvez obtenir plus d’informations sur le service lié SAP CDC ici. N’oubliez pas que votre fichier de contrôle externe doit être chargé sur le même compte d’Azure Data Lake Gen2.

    Screenshot of SAP CDC use template.

  4. Cliquez sur Utiliser ce modèle pour voir que le pipeline est prêt à être utilisé.

    Screenshot of SAP CDC pipeline.