Freigeben über


Replizieren mehrerer Objekte aus SAP über SAP CDC

Gilt für: Azure Data Factory Azure Synapse Analytics

Tipp

Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.

In diesem Artikel wird eine Lösungsvorlage beschrieben, die Sie verwenden können, um mehrere ODP-Objekte aus SAP über SAP CDC-Connector in Azure Data Lake Gen2 im Delta-Format mit Schlüsselpartition zu replizieren.

Informationen zu dieser Lösungsvorlage

Diese Vorlage liest eine externe Steuerelementdatei im JSON-Format in Ihrem Speicher, die Ihre SAP ODP-Kontexte, SAP ODP-Objekte und Schlüsselspalten aus dem SAP-Quellsystem sowie Ihre Container, Ordner und Partitionen aus Azure Data Lake Gen2-Zielspeicher enthält. Anschließend kopiert es jedes SAP ODP-Objekt aus dem SAP-System in Azure Data Lake Gen2 im Delta-Format.

Die Vorlage enthält drei Aktivitäten:

  • Lookup ruft die ZU ladende SAP ODP-Objektliste und den Zielspeicherpfad aus einer externen Steuerelementdatei in Ihrem Azure Data Lake Gen2-Speicher ab.
  • ForEach ruft die Liste der SAP ODP-Objekte aus der Lookup-Aktivität ab und iteriert über jedes Objekt zur Mapping-Datenflussaktivität.
  • Mapping dataflow repliziert jedes SAP ODP-Objekt vom SAP-System in Azure Data Lake Gen2 im Delta-Format. Bei der ersten Ausführung wird ein anfänglicher vollständiger Ladevorgang und bei den nachfolgenden Ausführungen automatisch ein inkrementeller Ladevorgang durchgeführt. Sie führt die Änderungen an Azure Data Lake Gen2 im Delta-Format zusammen.

In dieser Vorlage ist eine externe Steuerungsdatei im JSON-Format erforderlich. Das Schema für die Steuerungsdatei ist nachfolgend aufgeführt.

  • checkPointKey ist Ihr benutzerdefinierter Schlüssel zum Verwalten des Prüfpunkts Ihrer geänderten Datenerfassung in ADF. Weitere Details finden Sie hier.
  • sapContext ist Ihr SAP ODP-Kontext aus dem SAP-Quellsystem. Weitere Details finden Sie hier.
  • sapObjectName ist Ihr SAP ODP-Objektname, der aus dem SAP-System geladen werden soll. Weitere Details finden Sie hier.
  • sapRunMode steuert, wie das SAP-Objekt geladen werden soll. Mögliche Werte: „fullLoad“, „incrementalLoad“ oder „fullAndIncrementalLoad“.
  • sapKeyColumns sind die Namen Ihrer Schlüsselspalten aus SAP ODP-Objekten, die für die Deduktion bei der Zuordnung von Datenflüssen verwendet werden.
  • sapPartitions sind eine Liste von Partitionsbedingungen, die zu separaten Extraktionsprozessen im verbundenen SAP-System führen.
  • deltaContainer ist Ihr Containername im Azure Data Lake Gen2 als Zielspeicher.
  • deltaFolder ist Ihr Ordnername im Azure Data Lake Gen2 als Zielspeicher.
  • deltaKeyColumns sind Ihre Spalten, die verwendet werden, um festzustellen, ob eine Zeile aus der Quelle mit einer Zeile aus der Sink übereinstimmt, wenn Sie eine Zeile aktualisieren oder löschen möchten.
  • deltaPartition ist die Spalte, auf deren Grundlage Partitionen für jeden eindeutigen Wert in dieser Spalte erstellt werden, um Daten über den vom Zuordnungsdatenfluss verwendeten Spark-Cluster im Deltaformat in Azure Data Lake Gen2 zu schreiben. Weitere Details finden Sie hier.

Hier sehen Sie ein Beispiel für eine Steuerungsdatei:

[
  {
    "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"
  }
]

So verwenden Sie diese Lösungsvorlage

  1. Erstellen und hochladen Sie eine Steuerelementdatei im JSON-Format in Ihr Azure Data Lake Gen2 als Zielspeicher. Der Standardcontainer zum Speichern der Steuerungsdatei ist demo, und der Standardname der Steuerungsdatei lautet SapToDeltaParameters.json.

  2. Navigieren Sie zur Vorlage Mehrere Tabellen aus SAP ODP in Azure Data Lake Storage Gen2 im Delta-Format replizieren und klicken Sie darauf.

    Screenshot der SAP CDC-Suchvorlage

  3. Klicken Sie auf Continue und geben Sie Ihren verknüpften Dienst ein, der mit dem SAP-System als Quelle verbunden ist, und den verknüpften Dienst, der mit Azure Data Lake Gen2 als Ziel verbunden ist. Weitere Informationen zum verknüpften SAP CDC-Dienst finden Sie hier. Beachten Sie, dass Ihre externe Steuerdatei auf dasselbe Konto von Azure Data Lake Gen2 hochgeladen werden muss.

    Screenshot der Verwendung der SAP CDC-Vorlage

  4. Klicken Sie auf Diese Vorlage verwenden. Daraufhin wird die Pipeline als einsatzbereit angezeigt.

    Screenshot der SAP CDC-Pipeline