Dela via


Replikera flera objekt från SAP via SAP CDC

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln beskriver en lösningsmall som du kan använda för att replikera flera ODP-objekt från SAP via SAP CDC-anslutningsprogrammet till Azure Data Lake Gen2 i Delta-format med nyckelpartition.

Om den här lösningsmallen

Den här mallen läser en extern kontrollfil i json-format i lagringsarkivet, som innehåller dina SAP ODP-kontexter, SAP ODP-objekt och nyckelkolumner från SAP-källsystemet samt dina containrar, mappar och partitioner från Azure Data Lake Gen2-målarkivet. Därefter kopieras vart och ett av SAP ODP-objektet från SAP-systemet till Azure Data Lake Gen2 i Delta-format.

Mallen innehåller tre aktiviteter:

  • Sökningen hämtar listan med SAP ODP-objekt som ska läsas in och mållagringssökvägen från en extern kontrollfil i Azure Data Lake Gen2-arkivet.
  • ForEach hämtar listan med SAP ODP-objekt från uppslagsaktiviteten och itererar varje objekt till dataflödesaktiviteten för mappning.
  • Mappning av dataflöde replikerar varje SAP ODP-objekt från SAP-systemet till Azure Data Lake Gen2 i Delta-format. Den kommer att utföra den första fullständiga belastningen i den första körningen och sedan utföra inkrementell belastning i efterföljande körningar automatiskt. Ändringarna kopplas till Azure Data Lake Gen2 i Delta-format.

En extern kontrollfil i json-format krävs i den här mallen. Schemat för kontrollfilen är enligt nedan.

  • checkPointKey är din anpassade nyckel för att hantera kontrollpunkten för din ändrade datainsamling i ADF. Du kan få mer information här.
  • sapContext är din SAP ODP-kontext från käll-SAP-systemet. Du kan få mer information här.
  • sapObjectName är ditt SAP ODP-objektnamn som ska läsas in från SAP-systemet. Du kan få mer information här.
  • sapRunMode är att avgöra hur du vill läsa in SAP-objekt. Det kan vara fullLoad, incrementalLoad eller fullAndIncrementalLoad.
  • sapKeyColumns är dina nyckelkolumnnamn från SAP ODP-objekt som används för att utföra deduplicering i mappningsdataflödet.
  • sapPartitions är en lista över partitionsvillkor som leder till separata extraheringsprocesser i det anslutna SAP-systemet.
  • deltaContainer är ditt containernamn i Azure Data Lake Gen2 som målarkiv.
  • deltaFolder är ditt mappnamn i Azure Data Lake Gen2 som målarkiv.
  • deltaKeyColumns är dina kolumner som används för att avgöra om en rad från källan matchar en rad från mottagaren när du vill uppdatera eller ta bort en rad.
  • deltaPartition är din kolumn som används för att skapa partitioner för varje unikt värde i en sådan kolumn för att skriva data till Delta-format på Azure Data Lake Gen2 via Spark-kluster som används för att mappa dataflöde. Du kan få mer information här

En exempelkontrollfil finns nedan:

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

Så här använder du den här lösningsmallen

  1. Skapa och ladda upp en kontrollfil i json-format till Azure Data Lake Gen2 som målarkiv. Standardcontainern för lagring av kontrollfilen är demo och standardnamnet på kontrollfilen är SapToDeltaParameters.json.

  2. Gå till mallen Replikera flera tabeller från SAP ODP till Azure Data Lake Storage Gen2 i Delta-format och klicka på den.

    Skärmbild av SAP CDC-sökmall.

  3. Klicka på Fortsätt och ange den länkade tjänsten som är ansluten till SAP-systemet som källa och den länkade tjänsten som är ansluten till Azure Data Lake Gen2 som mål. Du kan få mer information om den länkade SAP CDC-tjänsten härifrån. Tänk på att din externa kontrollfil ska laddas upp till samma konto för Azure Data Lake Gen2.

    Skärmbild av SAP CDC-användningsmallen.

  4. Klicka på Använd den här mallen så ser du att pipelinen har varit redo att användas.

    Skärmbild av SAP CDC-pipelinen.