Gegevens kopiëren van SAP Business Warehouse met Azure Data Factory of Synapse Analytics
VAN TOEPASSING OP:
Azure Data Factory
Azure Synapse Analytics
In dit artikel wordt beschreven hoe u Azure Data Factory- of Synapse Analytics-pijplijnen gebruikt om gegevens te kopiëren van SAP Business Warehouse (BW) via Open Hub naar Azure Data Lake Storage Gen2. U kunt een vergelijkbaar proces gebruiken om gegevens te kopiëren naar andere ondersteunde sinkgegevensopslag.
Tip
Zie Copy data from SAP Business Warehouse via Open Hub by using Azure Data Factory (Gegevens kopiëren van SAP Business Warehouse via Open Hub met behulp van Azure Data Factory) voor algemene informatie over het kopiëren van gegevens uit SAP BW, waaronder SAP BW Open Hub-integratie en deltaextractiestroom.
Vereisten
Azure Data Factory synapse-werkruimte: als u er nog geen hebt, volgt u de stappen om een data factory maken of een Synapse-werkruimte te maken.
SAP BW Open Hub Destination (OHD) met het doeltype Databasetabel: als u een OHD wilt maken of wilt controleren of uw OHD juist is geconfigureerd voor integratie met de service, raadpleegt u de sectie SAP BW Open Hub Destination configurations (Configuraties voor SAP BW Open Hub-doelconfiguraties) van dit artikel.
De SAP BW heeft de volgende machtigingen nodig:
- Autorisatie voor externe functie-aanroepen (RFC) en SAP BW.
- Machtigingen voor de activiteit 'Uitvoeren' van het S_SDSAUTH autorisatieobject.
Een zelf-hostende Integration Runtime (IR) met SAP .NET-connector 3.0. Volg deze installatiestappen:
Installeer en registreer de zelf-hostende Integration Runtime versie 3.13 of hoger. (Dit proces wordt verder in dit artikel beschreven.)
Download de 64-bits SAP-connector voor Microsoft .NET 3.0 van de sap-website en installeer deze op dezelfde computer als de zelf-hostende IR. Zorg ervoor dat u tijdens de installatie In het dialoogvenster Optionele installatiestappen de optie Install Assemblies to GAC selecteert, zoals in de volgende afbeelding wordt weergegeven:
Een volledige kopie maken van SAP BW Open Hub
Ga in Azure Portal naar uw service. Selecteer Openen op de tegel Azure Data Factory Studio openen of Synapse Studio openen om de gebruikersinterface van de service op een afzonderlijk tabblad te openen.
Selecteer op de startpagina Opnemen om het hulpprogramma Gegevens kopiëren openen.
Kies op de pagina Eigenschappen de optie Ingebouwde kopieertaak onder Taaktype en kies nu eenmaal uitvoeren onder Taakfrequentie of taakschema en selecteer vervolgens Volgende.
Selecteer op de pagina Brongegevensopslag + Nieuwe verbinding. Selecteer SAP BW Hub openen in de connectorgalerie en selecteer vervolgens Doorgaan. Als u de connectors wilt filteren, typt u SAP in het zoekvak.
Op de pagina Nieuwe verbinding (SAP BW Open Hub) volgt u deze stappen om een nieuwe verbinding te maken.
Selecteer in Verbinding maken via integratieruntime een bestaande zelf-hostende IR. U kunt er ook voor kiezen om er een te maken als u er nog geen hebt.
Als u een nieuwe zelf-hostende IR wilt maken, selecteert u +Nieuw en selecteert u vervolgens Zelf-hostend. Voer een naam in en selecteer Volgende. Selecteer Express Setup om op de huidige computer te installeren of volg de opgegeven handmatige installatiestappen.
Zoals vermeld in Vereisten,moet u ervoor zorgen dat de SAP-connector voor Microsoft .NET 3.0 is geïnstalleerd op dezelfde computer waarop de zelf-hostende IR wordt uitgevoerd.
Vul de SAP BW servernaam , systeemnummer, client-id, taal (indien anders dan EN), gebruikersnaam en wachtwoord in.
Selecteer Verbinding testen om de instellingen te valideren en selecteer vervolgens Maken.
Selecteer op de pagina Brongegevensopslag de zojuist gemaakte verbinding in het verbindingsblok.
Blader in de sectie van het selecteren van Open Hub-bestemmingen naar de Open Hub-bestemmingen die beschikbaar zijn in uw SAP BW. U kunt een voorbeeld van de gegevens in elke bestemming bekijken door de knop Preview aan het einde van elke rij te selecteren. Selecteer de OHD waar u gegevens van wilt kopiëren en selecteer vervolgens Volgende.
Geef een filter op als u er een nodig hebt. Als uw OHD alleen gegevens bevat van één DTP-uitvoering (data-transfer process) met één aanvraag-id, of als u zeker weet dat uw DTP is voltooid en u de gegevens wilt kopiëren, kunt u het selectievakje Laatste aanvraag uitsluiten in de sectie Geavanceerd uit. U kunt een voorbeeld van de gegevens bekijken door de knop Voorbeeld van gegevens te selecteren.
Meer informatie over deze instellingen kunt u vinden in SAP BW sectie Open Hub-doelconfiguraties van dit artikel. Selecteer vervolgens Volgende.
Selecteer op de pagina Doelgegevensopslag de optie + Nieuwe verbinding Azure Data Lake > Storage Gen2 > Doorgaan.
Volg op de pagina Nieuwe verbinding (Azure Data Lake Storage Gen2) deze stappen om een verbinding te maken.
- Selecteer uw Data Lake Storage Gen2-account in de vervolgkeuzelijst Naam.
- Selecteer Maken om de verbinding te maken.
Selecteer op de pagina Doelgegevensopslag de zojuist gemaakte verbinding in de sectie Verbinding en voer copyfromopenhub in als de naam van de uitvoermap. Selecteer vervolgens Volgende.
Selecteer op de instellingspagina Bestandsindeling de optie Volgende om de standaardinstellingen te gebruiken.
Geef op Instellingen pagina Taaknaam op en vouw Geavanceerd uit. Voer een waarde in voor Degree of copy parallelism, zoals 5, om gegevens parallel SAP BW laden. Selecteer vervolgens Volgende.
Bekijk de instellingen op de pagina Samenvatting . Selecteer vervolgens Volgende.
Selecteer op de pagina Implementatie de optie Controleren om de pijplijn te bewaken.
U ziet dat het tabblad Controleren aan de linkerkant van de pagina automatisch wordt geselecteerd. U kunt koppelingen onder de kolom Pijplijnnaam op de pagina Pijplijnuitleidingen gebruiken om details van de activiteit weer te geven en de pijplijn opnieuw uit te voert.
Als u de activiteitsruns wilt weergeven die aan de pijplijn zijn gekoppeld, selecteert u koppelingen onder de kolom Naam van pijplijn. Omdat er slechts één activiteit (kopieeractiviteit) in de pijplijn is, ziet u slechts één vermelding in de lijst. Als u wilt teruggaan naar de weergave pijplijn-runs, selecteert u de koppeling Alle pijplijn-runs bovenaan. Selecteer Vernieuwen om de lijst te vernieuwen.
Als u de uitvoeringsdetails voor elke kopieeractiviteit wilt controleren, selecteert u de koppeling Details. Dit is een pictogram van een bril in dezelfde rij van elke kopieeractiviteit in de weergave activiteitsbewaking. Beschikbare details zijn onder andere het gegevensvolume dat van de bron naar de sink is gekopieerd, de gegevensdoorvoer, de uitvoeringsstappen, de duur en de gebruikte configuraties.
Als u de maximale aanvraag-id van elke kopieeractiviteit wilt weergeven, gaat u terug naar de weergave activiteitscontrole en selecteert u Uitvoer in dezelfde rij van elke kopieeractiviteit.
Incrementeel kopiëren van SAP BW Open Hub
Tip
Zie SAP BW deltaextractiestroom voor Open Hub-connectors voor meer informatie over hoe de SAP BW Open Hub-connector incrementele gegevens kopieert uit SAP BW. Dit artikel kan u ook helpen bij het begrijpen van de basisconfiguratie van connectors.
Laten we nu doorgaan met het configureren van incrementeel kopiëren vanuit SAP BW Open Hub.
Incrementeel kopiëren maakt gebruik van een 'boven watermerk'-mechanisme dat is gebaseerd op de aanvraag-id. Deze id wordt automatisch gegenereerd in SAP BW Open Hub Destination door de DTP. In het volgende diagram ziet u deze werkstroom:
Selecteer op de startpagina Pijplijnsjablonen in de sectie Meer ontdekken om de ingebouwde sjabloon te gebruiken.
Zoek naar SAP BW om de sjabloon Incrementeel kopiëren van SAP BW naar Azure Data Lake Storage Gen2 te zoeken en te selecteren. Met deze sjabloon worden gegevens gekopieerd naar Azure Data Lake Storage Gen2. U kunt een vergelijkbare werkstroom gebruiken om te kopiëren naar andere sinktypen.
Selecteer of maak op de hoofdpagina van de sjabloon de volgende drie verbindingen en selecteer vervolgens Deze sjabloon gebruiken in de rechterbenedenhoek van het venster.
- Azure Blob Storage: in dit scenario gebruiken we Azure Blob Storage om de boven watermerk op te slaan. Dit is de maximaal gekopieerde aanvraag-id.
- SAP BW Open Hub: dit is de bron waar u gegevens van kunt kopiëren. Raadpleeg het vorige volledige overzicht voor gedetailleerde configuratie.
- Azure Data Lake Storage Gen2: dit is de sink waar u gegevens naar kopieert. Raadpleeg het vorige volledige overzicht voor gedetailleerde configuratie.
Deze sjabloon genereert een pijplijn met de volgende drie activiteiten en maakt deze aan elkaar vastgeketend bij succes: Lookup, Gegevens kopiëren en Web.
Ga naar het tabblad Parameters van de pijplijn. U ziet alle configuraties die u moet leveren.
SAPOpenHubDestinationName: geef de naam op van de Open Hub-tabel waar u gegevens uit wilt kopiëren.
Data_Destination_Container: geef de Azure Data Lake Storage Gen2-doelcontainer op waar u gegevens naar wilt kopiëren. Als de container niet bestaat, maakt de kopieeractiviteit er een tijdens de uitvoering.
Data_Destination_Directory: geef het mappad op onder de Azure Data Lake Storage Gen2-container om gegevens naar te kopiëren. Als het pad niet bestaat, maakt de kopieeractiviteit een pad tijdens de uitvoering.
HighWatermarkBlobContainer: geef de container op waarin de boven watermerkwaarde moet worden opgeslagen.
HighWatermarkBlobDirectory: geef het mappad onder de container op voor het opslaan van de boven watermerkwaarde.
HighWatermarkBlobName: geef de blobnaam op voor het opslaan van de boven watermerkwaarde, zoals
requestIdCache.txt. Ga in Blob Storage naar het bijbehorende pad van HighWatermarkBlobContainer+HighWatermarkBlobDirectory+HighWatermarkBlobName, zoals container/path/requestIdCache.txt. Maak een blob met inhoud 0.
LogicAppURL: In deze sjabloon gebruiken we WebActivity om Azure Logic Apps in te stellen van de boven watermerkwaarde in Blob Storage. U kunt ook Azure SQL Database gebruiken om het op te slaan. Gebruik een opgeslagen procedureactiviteit om de waarde bij te werken.
U moet eerst een logische app maken, zoals de volgende afbeelding laat zien. Plak vervolgens de HTTP POST-URL.
Ga naar Azure Portal. Selecteer een nieuwe Logic Apps service. Selecteer +Lege logische app om naar Logic Apps Designer te gaan.
Maak een trigger van Wanneer een HTTP-aanvraag wordt ontvangen. Geef de HTTP-aanvraag als volgt op:
{ "properties": { "sapOpenHubMaxRequestId": { "type": "string" } }, "type": "object" }Voeg de actie Blob maken toe. Gebruik voor Mappad en Blobnaam dezelfde waarden die u eerder hebt geconfigureerd in HighWatermarkBlobContainer+HighWatermarkBlobDirectory en HighWatermarkBlobName.
Selecteer Opslaan. Kopieer vervolgens de waarde van HTTP POST-URL voor gebruik in de pijplijn.
Nadat u de pijplijnparameters hebt verstrekt, selecteert u Foutopsporing Voltooien om een > uitvoering aan te roepen om de configuratie te valideren. Of selecteer Publiceren om alle wijzigingen te publiceren en selecteer vervolgens Trigger toevoegen om een uitvoering uit te voeren.
SAP BW van Open Hub-doel configureren
In deze sectie wordt de configuratie van de SAP BW voor het gebruik van de SAP BW Open Hub-connector om gegevens te kopiëren.
Deltaextractie configureren in SAP BW
Als u zowel historisch als incrementeel kopiëren of alleen incrementeel kopiëren nodig hebt, configureert u deltaextractie in SAP BW.
Maak de Open Hub-bestemming. U kunt de OHD maken in SAP Transaction RSA1, waarmee automatisch het vereiste transformatie- en gegevensoverdrachtproces wordt gemaakt. Gebruik de volgende instellingen:
- ObjectType: u kunt elk objecttype gebruiken. Hier gebruiken we InfoCube als voorbeeld.
- Doeltype: selecteer Databasetabel.
- Sleutel van de tabel: selecteer Technische sleutel.
- Extractie: selecteer Gegevens behouden en Records invoegen in tabel.
U kunt het aantal parallelle lopende SAP-werkprocessen voor de DTP verhogen:
Plan de DTP in procesketens.
Een delta-DTP voor een kubus werkt alleen als de benodigde rijen niet zijn gecomprimeerd. Zorg ervoor dat BW-kubuscompressie niet wordt uitgevoerd vóór de DTP naar de Open Hub-tabel. De eenvoudigste manier om dit te doen, is door de DTP te integreren in uw bestaande procesketens. In het volgende voorbeeld wordt de DTP (naar de OHD) ingevoegd in de procesketen tussen de stappen Aanpassen (aggregatie rollup) en Samenvgevouwen (kubuscompressie).
Volledige extractie configureren in SAP BW
Naast deltaextractie wilt u mogelijk een volledige extractie van dezelfde SAP BW InfoProvider. Dit is meestal van toepassing als u een volledige kopie wilt maken, maar niet incrementeel, of als u deltaextractie opnieuw wilt synchroniseren.
U kunt niet meer dan één DTP voor dezelfde OHD hebben. U moet dus een extra OHD maken vóór deltaextractie.
Kies voor een full load OHD andere opties dan voor deltaextractie:
In OHD: stel de optie Extractie in op Gegevens verwijderen en Records invoegen. Anders worden gegevens vaak geëxtraheerd wanneer u de DTP in een BW-procesketen herhaalt.
In de DTP: De extractiemodus instellen op Volledig. U moet de automatisch gemaakte DTP van Delta wijzigen in Volledig onmiddellijk nadat de OHD is gemaakt, zoals in deze afbeelding wordt weer geven:
Schakel in de BW Open Hub-connector De laatste aanvraag uitsluiten uit. Anders wordt er niets geëxtraheerd.
Normaal gesproken wordt de volledige DTP handmatig uitgevoerd. U kunt ook een procesketen maken voor de volledige DTP. Het is doorgaans een afzonderlijke keten die onafhankelijk is van uw bestaande procesketens. Zorg er in beide gevallen voor dat de DTP is voltooid voordat u de extractie start met behulp van copy. Anders worden slechts gedeeltelijke gegevens gekopieerd.
Delta-extractie de eerste keer uitvoeren
De eerste delta-extractie is technisch gezien een volledige extractie. Standaard sluit de SAP BW Open Hub-connector de laatste aanvraag uit wanneer er gegevens worden gekopieerd. Voor de eerste delta-extractie worden er geen gegevens geëxtraheerd door de kopieeractiviteit totdat een volgende DTP deltagegevens in de tabel met een afzonderlijke aanvraag-id genereert. Er zijn twee manieren om dit scenario te voorkomen:
- Schakel de optie Laatste aanvraag uitsluiten uit voor de eerste delta-extractie. Zorg ervoor dat de eerste delta-DTP is voltooid voordat u de delta-extractie de eerste keer start.
- Gebruik de procedure voor het opnieuw synchroniseren van de delta-extractie, zoals beschreven in de volgende sectie.
Deltaextractie opnieuw synchroniseren
De volgende scenario's wijzigen de gegevens in SAP BW kubussen, maar worden niet in aanmerking genomen door de delta-DTP:
- SAP BW selectief verwijderen (van rijen met behulp van een filtervoorwaarde)
- SAP BW aanvraag verwijderen (van foute aanvragen)
Een SAP Open Hub-bestemming is geen gegevensdoel dat wordt beheerd door een datamart (in alle SAP BW ondersteuningspakketten sinds 2015). U kunt dus gegevens uit een kubus verwijderen zonder de gegevens in de OHD te wijzigen. Vervolgens moet u de gegevens van de kubus opnieuw synchroniseren met de service:
- Voer een volledige extractie uit in de service (met behulp van een volledige DTP in SAP).
- Verwijder alle rijen in de Open Hub-tabel voor de delta-DTP.
- Stel de status van de delta-DTP in op Opgehaald.
Hierna werken alle volgende delta-DSP's en delta-extracties zoals verwacht.
Als u de status van de delta-DTP wilt instellen op Opgehaald, kunt u de volgende optie gebruiken om de delta-DTP handmatig uit te voeren:
Geen gegevensoverdracht; Deltastatus in bron: Opgehaald
Volgende stappen
Meer informatie over SAP BW ondersteuning voor Open Hub-connectors: