Gegevens kopiëren uit SAP Business Warehouse met Azure Data Factory of Synapse Analytics
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
In dit artikel wordt beschreven hoe u Azure Data Factory- of Synapse Analytics-pijplijnen gebruikt om gegevens van SAP Business Warehouse (BW) te kopiëren via Open Hub naar Azure Data Lake Storage Gen2. U kunt een vergelijkbaar proces gebruiken om gegevens te kopiëren naar andere ondersteunde sinkgegevensarchieven.
Tip
Zie Voor algemene informatie over het kopiëren van gegevens uit SAP BW, waaronder SAP BW Open Hub-integratie en deltaextractiestroom, gegevens kopiëren vanuit SAP Business Warehouse via Open Hub met behulp van Azure Data Factory.
Vereisten
Azure Data Factory- of Synapse-werkruimte: Als u er nog geen hebt, volgt u de stappen om een data factory te maken of een Synapse-werkruimte te maken.
SAP BW Open Hub Destination (OHD) met 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-configuraties van dit artikel.
De SAP BW-gebruiker heeft de volgende machtigingen nodig:
- Autorisatie voor Remote Function Calls (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 verderop in dit artikel beschreven.)
Download de 64-bits SAP-connector voor Microsoft .NET 3.0 vanaf de website van SAP en installeer deze op dezelfde computer als de zelf-hostende IR. Zorg er tijdens de installatie voor dat u Assembly's installeren selecteert naar GAC in het dialoogvenster Optionele installatiestappen , zoals in de volgende afbeelding wordt weergegeven:
Een volledige kopie uitvoeren vanuit 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 servicegebruikersinterface op een afzonderlijk tabblad te openen.
Selecteer Opnemen op de startpagina om het hulpprogramma Gegevens kopiëren te openen.
Kies op de pagina Eigenschappen de optie Ingebouwde kopieertaak onder Taaktype en kies Eenmaal uitvoeren onder Taakfrequentie of taakschema en selecteer vervolgens Volgende.
Selecteer + Nieuwe verbinding op de pagina Brongegevensarchief. Selecteer SAP BW Open Hub in de galerie met connectors en selecteer vervolgens Doorgaan. Als u de connectors wilt filteren, kunt u SAP typen in het zoekvak.
Voer op de pagina Nieuwe verbinding (SAP BW Open Hub) deze stappen uit om een nieuwe verbinding te maken.
Selecteer in de lijst Verbinding maken via integratieruntime een bestaande zelf-hostende IR. Of kies ervoor 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 vervolgens Volgende. Selecteer Express Setup om te installeren op de huidige computer of volg de handmatige installatiestappen die worden opgegeven.
Zoals vermeld in vereisten, moet u ervoor zorgen dat sap-connector voor Microsoft .NET 3.0 is geïnstalleerd op dezelfde computer waarop de zelf-hostende IR wordt uitgevoerd.
Vul de NAAM van de SAP BW-server, het systeemnummer, de client-id, de taal (indien anders dan EN), de gebruikersnaam en het wachtwoord in.
Selecteer Verbinding testen om de instellingen te valideren en selecteer vervolgens Maken.
Selecteer op de pagina Brongegevensarchief de zojuist gemaakte verbinding in het verbindingsblok .
Blader in de sectie van het selecteren van Open Hub-bestemmingen door 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 Voorbeeld aan het einde van elke rij te selecteren. Selecteer de OHD waaruit u gegevens 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, schakelt u het selectievakje Laatste aanvraag uitsluiten uit in de sectie Geavanceerd. U kunt een voorbeeld van de gegevens bekijken door de knop Voorbeeld van gegevens te selecteren.
Meer informatie over deze instellingen vindt u in de sectie SAP BW Open Hub Destination-configuraties van dit artikel. Selecteer Volgende.
Selecteer + Nieuwe verbinding>in Azure Data Lake Storage Gen2>op de pagina Doelgegevensarchief.
Voer op de pagina Nieuwe verbinding (Azure Data Lake Storage Gen2) deze stappen uit 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 Doelgegevensarchief de zojuist gemaakte verbinding in de sectie Verbinding en voer copyfromopenhub in als de naam van de uitvoermap. Selecteer Volgende.
Selecteer op de pagina Instellen van bestandsindeling de optie Volgende om de standaardinstellingen te gebruiken.
Geef op de pagina Instellingen een taaknaam op en vouw Geavanceerd uit. Voer een waarde in voor mate van kopieerparallelisme , zoals 5 om parallel vanuit SAP BW te laden. Selecteer Volgende.
Controleer de instellingen op de pagina Samenvatting . Selecteer Volgende.
Selecteer Controleren op de pagina Implementatie 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 Pijplijnuitvoeringen gebruiken om activiteitsgegevens weer te geven en de pijplijn opnieuw uit te voeren.
Als u activiteitsuitvoeringen wilt weergeven die zijn gekoppeld aan de pijplijnuitvoering, selecteert u koppelingen onder de kolom Pijplijnnaam . 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 pijplijnuitvoeringen, selecteert u de koppeling Alle pijplijnuitvoeringen 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 brilpictogram in dezelfde rij van elke kopieeractiviteit in de weergave activiteitscontrole. Beschikbare details zijn het gegevensvolume dat van de bron naar de sink is gekopieerd, gegevensdoorvoer, uitvoeringsstappen en duur en 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 vanuit SAP BW Open Hub
Tip
Zie de Delta-extractiestroom van SAP BW Open Hub-connector voor meer informatie over hoe de SAP BW Open Hub-connector incrementele gegevens kopieert uit SAP BW. Dit artikel kan u ook helpen inzicht te hebben in de configuratie van de basisconnector.
Nu gaan we incrementele kopie vanuit SAP BW Open Hub blijven configureren.
Incrementele kopie maakt gebruik van een mechanisme met een hoog watermerk 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 incrementele kopie van SAP BW naar de Azure Data Lake Storage Gen2-sjabloon te zoeken en te selecteren. Met deze sjabloon worden gegevens gekopieerd naar Azure Data Lake Storage Gen2. U kunt een vergelijkbare werkstroom gebruiken om naar andere sinktypen te kopiëren.
Selecteer of maak de volgende drie verbindingen op de hoofdpagina van de sjabloon en selecteer deze sjabloon in de rechterbenedenhoek van het venster gebruiken.
- Azure Blob Storage: In dit scenario gebruiken we Azure Blob Storage om het hoge watermerk op te slaan. Dit is de maximaal gekopieerde aanvraag-id.
- SAP BW Open Hub: dit is de bron waaruit u gegevens kunt kopiëren. Raadpleeg de vorige procedure voor volledige kopie voor gedetailleerde configuratie.
- Azure Data Lake Storage Gen2: dit is de sink om gegevens naar te kopiëren. Raadpleeg de vorige procedure voor volledige kopie voor gedetailleerde configuratie.
Met deze sjabloon wordt een pijplijn gegenereerd met de volgende drie activiteiten en wordt deze gekoppeld aan succes: Opzoeken, Gegevens kopiëren en Web.
Ga naar het tabblad Pijplijnparameters. U ziet alle configuraties die u moet opgeven.
SAPOpenHubDestinationName: geef de naam van de Open Hub-tabel op waaruit u gegevens wilt kopiëren.
Data_Destination_Container: Geef de Azure Data Lake Storage Gen2-doelcontainer op waarin u gegevens wilt kopiëren. Als de container niet bestaat, maakt de kopieeractiviteit er een tijdens de uitvoering.
Data_Destination_Directory: Geef het mappad onder de Azure Data Lake Storage Gen2-container op waarnaar u gegevens wilt kopiëren. Als het pad niet bestaat, maakt de kopieeractiviteit een pad tijdens de uitvoering.
HighWatermarkBlobContainer: geef de container op om de waarde van het hoge watermerk op te slaan.
HighWatermarkBlobDirectory: geef het mappad onder de container op om de waarde voor hoog watermerk op te slaan.
HighWatermarkBlobName: geef de blobnaam op om de hoge grenswaarde op te slaan, 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 aan te roepen om de waarde voor hoog watermerk in blobopslag in te stellen. U kunt ook Azure SQL Database gebruiken om deze op te slaan. Gebruik een opgeslagen procedureactiviteit om de waarde bij te werken.
U moet eerst een logische app maken, zoals in de volgende afbeelding wordt weergegeven. Plak vervolgens de HTTP POST-URL.
Ga naar de 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 hoofdtekst van de HTTP-aanvraag als volgt op:
{ "properties": { "sapOpenHubMaxRequestId": { "type": "string" } }, "type": "object" }
Een blobactie maken toevoegen. Gebruik voor mappad en blobnaam dezelfde waarden die u eerder hebt geconfigureerd in HighWatermarkBlobContainer+HighWatermarkBlobDirectory en HighWatermarkBlobName.
Selecteer Opslaan. Kopieer vervolgens de waarde van de HTTP POST-URL die in de pijplijn moet worden gebruikt.
Nadat u de pijplijnparameters hebt opgegeven, selecteert u Debug>Finish 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 Open Hub Destination-configuraties
In deze sectie wordt de configuratie van de SAP BW-zijde geïntroduceerd om de SAP BW Open Hub-connector te gebruiken om gegevens te kopiëren.
Deltaextractie configureren in SAP BW
Als u zowel historische kopie als incrementele kopie of alleen incrementele kopie nodig hebt, configureert u deltaextractie in SAP BW.
Maak de Open Hub-bestemming. U kunt de OHD maken in SAP Transaction RSA1, waarmee automatisch de vereiste transformatie en het proces voor gegevensoverdracht worden 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 een tabel.
U kunt het aantal parallelle actieve 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 voordat de DTP naar de Open Hub-tabel wordt uitgevoerd. 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 (samenvouwen) en Samenvouwen (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 volledige kopie wilt uitvoeren, maar niet incrementeel, of als u deltaextractie opnieuw wilt synchroniseren.
U kunt niet meer dan één DTP hebben voor dezelfde OHD. U moet dus een extra OHD maken voordat deltaextractie wordt uitgevoerd.
Kies voor een OHD voor een volledige belasting verschillende 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: stel de extractiemodus in op Volledig. U moet de automatisch gemaakte DTP wijzigen van Delta in Volledig direct nadat de OHD is gemaakt, zoals in deze afbeelding wordt weergegeven:
Schakel laatste aanvraag uitsluiten uit in de BW Open Hub-connector. Anders wordt er niets geëxtraheerd.
Normaal gesproken voert u de volledige DTP handmatig uit. U kunt ook een procesketen maken voor de volledige DTP. Het is meestal 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 kopie. Anders worden alleen gedeeltelijke gegevens gekopieerd.
Deltaextractie de eerste keer uitvoeren
De eerste deltaextractie is technisch een volledige extractie. Standaard sluit de SAP BW Open Hub-connector de laatste aanvraag uit wanneer er gegevens worden gekopieerd. Voor de eerste deltaextractie worden er geen gegevens geëxtraheerd door de kopieeractiviteit totdat een volgende DTP deltagegevens in de tabel genereert met een afzonderlijke aanvraag-id. Er zijn twee manieren om dit scenario te voorkomen:
- Schakel de laatste aanvraagoptie Uitsluiten uit voor de eerste deltaextractie. Zorg ervoor dat de eerste delta-DTP is voltooid voordat u de deltaextractie de eerste keer start.
- Gebruik de procedure voor het opnieuw synchroniseren van de deltaextractie, zoals beschreven in de volgende sectie.
Deltaextractie opnieuw synchroniseren
In de volgende scenario's worden de gegevens in SAP BW-kubussen gewijzigd, maar worden niet meegenomen door de delta-DTP:
- SAP BW selectief verwijderen (van rijen met behulp van een filtervoorwaarde)
- SAP BW-aanvraagverwijdering (van defecte aanvragen)
Een SAP Open Hub-bestemming is geen datamart-beheerd gegevensdoel (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.
Daarna werken alle volgende delta-DTP's en deltaextracties 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
Gerelateerde inhoud
Meer informatie over ondersteuning voor SAP BW Open Hub-connectors: