Freigeben über


Replizieren mehrerer Objekte aus SAP über SAP CDC

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

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

Informationen zu dieser Lösungsvorlage

Diese Vorlage liest eine externe Steuerungsdatei 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 dem Azure Data Lake Gen2-Zielspeicher enthält. Anschließend wird jedes SAP ODP-Objekt aus dem SAP-System in Azure Data Lake Gen2 im Delta-Format kopiert.

Die Vorlage enthält drei Aktivitäten:

  • Lookup ruft die zu ladende Liste der SAP ODP-Objekte und den Zielspeicherpfad aus einer externen Steuerungsdatei in Ihrem Azure Data Lake Gen2-Speicher ab.
  • ForEach ruft die Liste der SAP ODP-Objekte aus der Lookup-Aktivität ab und durchläuft jedes Objekt für die Mapping Dataflow-Aktivität.
  • Mapping Dataflow repliziert jedes SAP ODP-Objekt aus dem 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. Die Änderungen werden in Azure Data Lake Gen2 im Delta-Format zusammengeführt.

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 Ihre Schlüsselspaltennamen aus SAP ODP-Objekten, die zur Deduplizierung im Zuordnungsdatenfluss verwendet werden.
  • sapPartitions sind eine Liste von Partitionsbedingungen, die zu separaten Extraktionsprozessen im verbundenen SAP-System führen.
  • deltaContainer ist Ihr Containername in Azure Data Lake Gen2 als Zielspeicher.
  • deltaFolder ist Ihr Ordnername in Azure Data Lake Gen2 als Zielspeicher.
  • deltaKeyColumns sind die Spalten, die verwendet werden, um zu ermitteln, ob eine Zeile aus der Quelle mit einer Zeile aus der Senke ü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 Sie eine Steuerungsdatei im JSON-Format, und laden Sie sie in Azure Data Lake Gen2 als Zielspeicher hoch. 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 of SAP CDC search template.

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

    Screenshot of SAP CDC use template.

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

    Screenshot of SAP CDC pipeline.