Gegevens uit een SAP ODP-bron transformeren met behulp van de SAP CDC-connector in Azure Data Factory of Azure Synapse Analytics

Van toepassing op: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.

In dit artikel wordt beschreven hoe u de mapping gegevensstroom gebruikt om gegevens uit een SAP ODP-bron te transformeren met behulp van SAP CDC-connector. Lees het inleidende artikel voor Azure Data Factory of Azure Synapse Analytics voor meer informatie. Lees voor een inleiding tot het transformeren van gegevens met Azure Data Factory en Azure Synapse analytics mappinggegevensstroom of de tutorial over mappinggegevensstroom.

Tip

Zie SAP-gegevensintegratie met behulp van Azure Data Factory technisch document met een gedetailleerde introductie van elke SAP-connector, vergelijking en richtlijnen om meer te leren over de ondersteuning voor SAP-gegevensintegratie in het algemeen.

Ondersteunde mogelijkheden

Deze SAP CDC-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR
Mapping gegevensstroom (bron/-) [1], [2]

(1) Azure Integration Runtime (2) Zelf-gehoste Integration Runtime

Deze SAP CDC-connector maakt gebruik van het SAP ODP-framework om gegevens uit SAP-bronsystemen te extraheren. Lees Inleiding en architectuur voor SAP Change Data Capture (CDC) in ons SAP-kenniscentrum voor een inleiding tot de architectuur van de oplossing.

Het SAP ODP-framework is opgenomen in alle up-to-date SAP NetWeaver-systemen, waaronder SAP ECC, SAP S/4HANA, SAP BW, SAP BW/4HANA, SAP LT Replication Server (SLT). Zie Vereisten en configuratie voor vereisten en minimale vereiste releases.

De SAP CDC-connector ondersteunt basisautenticatie of SNC (Secure Network Communications), indien SNC geconfigureerd is. Zie Aan de slag met SAP SNC voor RFC-integraties - SAP-blog voor meer informatie over SNC.

Huidige beperkingen

Dit zijn de huidige beperkingen van de SAP CDC-connector in Data Factory:

  • U kunt ODQ-abonnementen niet opnieuw instellen of verwijderen in Data Factory (gebruik hiervoor transactie-ODQMON in het verbonden SAP-systeem).
  • U kunt geen SAP-hiërarchieën gebruiken met de oplossing.

Vereisten

Als u deze SAP CDC-connector wilt gebruiken, raadpleegt u Vereisten en installatie voor de SAP CDC-connector.

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken voor de SAP CDC-connector met behulp van de gebruikersinterface

Volg de stappen die worden beschreven in Voorbereiding van de gekoppelde SAP CDC-service om een gekoppelde service te maken voor de SAP CDC-connector in de gebruikersinterface van de Azure portal.

Eigenschappen van gegevensset

Als u een SAP CDC-gegevensset wilt voorbereiden, volgt u De SAP CDC-brongegevensset voorbereiden.

Gegevens transformeren met de SAP CDC-connector

De onbewerkte SAP ODP-wijzigingenfeed is moeilijk te interpreteren en het correct updaten naar een sink kan een uitdaging zijn. Technische kenmerken die zijn gekoppeld aan elke rij (zoals ODQ_CHANGEMODE), moeten bijvoorbeeld worden begrepen om de wijzigingen correct toe te passen op de sink. Een extract van wijzigingsgegevens uit ODP kan ook meerdere wijzigingen in dezelfde sleutel bevatten (bijvoorbeeld dezelfde verkooporder). Het is daarom belangrijk om de volgorde van wijzigingen te respecteren, terwijl tegelijkertijd de prestaties worden geoptimaliseerd door de wijzigingen parallel te verwerken. Bovendien vereist het beheer van een gegevensopnamefeed ook het bijhouden van de status, bijvoorbeeld om ingebouwde mechanismen voor foutherstel te bieden. Azure data factory-gegevensstromen in kaart brengen dragen zorg voor al deze aspecten. SAP CDC-connectiviteit maakt daarom deel uit van de toewijzingsgegevensstroomervaring. Gebruikers kunnen zich dus concentreren op de vereiste transformatielogica zonder dat ze last hoeven te hebben van de technische details van gegevensextractie.

Om te beginnen, maak een pijplijn met een gegevensmappingstroom.

Schermopname van het toevoegen van gegevensstroomactiviteit in de pijplijn.

Geef vervolgens een gekoppelde faseringsservice en faseringsmap op in Azure Data Lake Gen2, die fungeert als een tussenliggende opslag voor gegevens die zijn geëxtraheerd uit SAP.

Notitie

  • De gekoppelde faseringsservice kan geen zelf-hostende Integration Runtime gebruiken.
  • De stagingmap moet worden beschouwd als een interne opslag van de SAP CDC-connector. Voor verdere optimalisaties van de SAP CDC-runtime kunnen implementatiedetails, zoals de bestandsindeling die wordt gebruikt voor de faseringsgegevens, veranderen. Daarom raden we u aan de stagingmap niet te gebruiken voor andere doeleinden, bijvoorbeeld als bron voor andere kopieeractiviteiten of gegevensstroomtoewijzingen.

Schermopname van het specificeren van een tussenliggende map in de gegevensstroomactiviteit.

De Controlepuntsleutel wordt door de SAP CDC-runtime gebruikt om statusinformatie over het proces voor het vastleggen van wijzigingengegevens op te slaan. Hierdoor kunnen SAP CDC-toewijzingsgegevensstromen zich bijvoorbeeld automatisch herstellen van foutomstandigheden of bepalen of er al een wijzigingsgegevensvastleggingsproces voor een bepaalde gegevensstroom is ingesteld. Het is daarom belangrijk om voor elke bron een unieke controlepuntsleutel te gebruiken. Anders wordt statusinformatie van de ene bron overschreven door een andere bron.

Notitie

  • Om conflicten te voorkomen, wordt standaard een unieke id gegenereerd als Controlepuntsleutel .
  • Wanneer u parameters gebruikt om dezelfde gegevensstroom voor meerdere bronnen te gebruiken, moet u ervoor zorgen dat u de Controlepuntsleutel parametrizeert met unieke waarden per bron.
  • De eigenschap Controlepuntsleutel wordt niet weergegeven als de uitvoeringsmodus in de SAP CDC-bron is ingesteld op Volledig voor elke uitvoering (zie de volgende sectie), omdat er in dit geval geen proces voor het vastleggen van wijzigingen van gegevens tot stand is gebracht.

Schermopname van de controlepuntsleuteleigenschap in een gegevensstroomactiviteit.

Geparameteriseerde controlepuntsleutels

Controlepuntsleutels zijn vereist voor het beheren van de status van processen voor het vastleggen van wijzigingengegevens. Voor efficiënt beheer kunt u de controlepuntsleutel parameteriseren om verbindingen met verschillende bronnen toe te staan. U kunt als volgt een geparameteriseerde controlepuntsleutel implementeren:

  1. Maak een globale parameter voor het opslaan van de controlepuntsleutel op pijplijnniveau om consistentie in uitvoeringen te garanderen:

    "parameters": {
     "checkpointKey": {
         "type": "string",
         "defaultValue": "YourStaticCheckpointKey"
     }
    } 
    
  2. Stel de controlepuntsleutel programmatisch in om de pijplijn aan te roepen met de gewenste waarde telkens wanneer deze wordt uitgevoerd. Hier volgt een voorbeeld van een REST-aanroep met behulp van de geparameteriseerde controlepuntsleutel:

    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"
                }
            }
        }
    }
    

Raadpleeg voor meer gedetailleerde informatie Geavanceerde onderwerpen voor de SAP CDC-connector.

Gegevensstromeigenschappen in kaart brengen

Voer de volgende stappen uit om een gegevensstroom met mapping te maken met de SAP CDC-connector als bron:

  1. Ga in ADF Studio naar de sectie Gegevensstromen van de Author-hub , selecteer de knop ... om het menu Acties voor gegevensstromen te selecteren en selecteer het item Nieuwe gegevensstroom . Schakel de foutopsporingsmodus in met behulp van de knop Foutopsporing in de bovenste balk van het gegevensstroomcanvas.

    Schermopname van de knop voor het debuggen van gegevensstromen in mappinggegevensstroom.

  2. Selecteer Bron toevoegen in de editor voor toewijzingsgegevensstromen.

    Schermopname van het toevoegen van een bron in de gegevensstroomtoewijzing.

  3. Selecteer op het tabblad Broninstellingen een voorbereide SAP CDC-gegevensset of selecteer de knop Nieuw om een nieuwe te maken. U kunt ook Inline selecteren in de eigenschap Brontype en doorgaan zonder een expliciete gegevensverzameling te definiëren.

    Schermopname van de optie gegevensset selecteren in de broninstellingen van de gegevensstroombron.

  4. Selecteer op het tabblad Bronopties de optie Volledig bij elke uitvoering als u volledige momentopnamen wilt laden bij elke uitvoering van de toewijzingsgegevensstroom. Selecteer Volledig tijdens de eerste uitvoering en vervolgens incrementeel als u zich wilt abonneren op een wijzigingenfeed van het SAP-bronsysteem, inclusief een eerste volledige momentopname van gegevens. In dit geval, de eerste keer dat uw pijplijn wordt uitgevoerd, wordt er een delta-initialisatie uitgevoerd. Dit betekent dat er een ODP-deltaabonnement wordt gemaakt in het bronsysteem, en er wordt een huidige volledige gegevenssnapshot geretourneerd. Volgende pijplijnuitvoeringen retourneren alleen incrementele wijzigingen sinds de voorgaande uitvoering. Met de optie alleen incrementele wijzigingen wordt een ODP-delta-abonnement gemaakt, zonder dat er tijdens de eerste uitvoering een initiële volledige gegevensmomentopname wordt teruggegeven. Opnieuw tonen volgende uitvoeringen slechts incrementele wijzigingen sinds de voorgaande uitvoering. Voor beide opties voor incrementeel laden moet u de sleutels van het ODP-bronobject opgeven in de eigenschap Sleutelkolommen .

    Schermopname van de eigenschap Uitvoeringsmodus in bronopties van de brongegevensstroombron.

    Schermopname van de selectie van sleutelkolommen in de bronopties van de brongegevensstroombron.

  5. Volg de gegevensstroomtoewijzing voor de tabbladen Projectie, Optimaliseren en Inspecteren.

Prestaties van volledige of eerste belastingen optimaliseren met bronpartitionering

Als de uitvoeringsmodus is ingesteld op Volledig bij elke uitvoering of Volledig bij de eerste uitvoering, daarna incrementeel, biedt het tabblad Optimaliseren een selectie- en partitioneringstype met de naam Bron. Met deze optie kunt u meerdere partitievoorwaarden (dat wil gezegd filter) opgeven om een grote brongegevensset te segmenteren in meerdere kleinere delen. Voor elke partitie activeert de SAP CDC-connector een afzonderlijk extractieproces in het SAP-bronsysteem.

Schermopname van de partitioneringsopties voor het optimaliseren van de toewijzingsgegevensstroombron.

Als partities even groot zijn, kan bronpartitionering de doorvoer van gegevensextractie lineair verhogen. Voor dergelijke prestatieverbeteringen zijn voldoende resources vereist in het SAP-bronsysteem, de virtuele machine die als host fungeert voor de zelf-hostende integratieruntime en de Azure integration runtime.