Kopiera data från SAP Business Warehouse med Azure Data Factory eller Synapse Analytics
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
Den här artikeln visar hur du använder Azure Data Factory eller Synapse Analytics pipelines för att kopiera data från SAP Business Warehouse (BW) via Open Hub till Azure Data Lake Storage Gen2. Du kan använda en liknande process för att kopiera data till andra datalager för mottagare som stöds.
Tips
Allmän information om hur du kopierar data från SAP BW, inklusive SAP BW Open Hub-integrering och delta-extraheringsflöde, finns i Kopiera data från SAP Business Warehouse via Open Hubmed hjälp av Azure Data Factory .
Förutsättningar
Azure Data Factory eller Synapse-arbetsyta: Om du inte har en följer du stegen för att skapa en datafabrik eller skapar en Synapse-arbetsyta.
SAP BW Open Hub Destination (OHD) med måltypen "Databastabell": Information om hur du skapar en OHD eller kontrollerar att din OHD är korrekt konfigurerad för integrering med tjänsten finns i avsnittet om SAP BW Open Hub-målkonfigurationer i den här artikeln.
Användaren SAP BW följande behörigheter:
- Auktorisering för RFC (Remote Function Calls) och SAP BW.
- Behörigheter till aktiviteten "Kör" för S_SDSAUTH auktoriseringsobjekt.
En integrationskörning (IR) med egen värd med SAP .NET Connector 3.0. Följ dessa konfigurationssteg:
Installera och registrera integration runtime med egen värd, version 3.13 eller senare. (Den här processen beskrivs senare i den här artikeln.)
Ladda ned 64-bitars SAP Connector för Microsoft .NET 3.0 från SAP:s webbplats och installera den på samma dator som den lokala IR:en. Under installationen kontrollerar du att du väljer Installera sammansättningar till GAC i dialogrutan Valfria installationssteg, enligt följande bild:
Gör en fullständig kopia från SAP BW Open Hub
I Azure Portal du till din tjänst. Välj Öppna på panelen Öppna Azure Data Factory Studio eller Öppna Synapse Studio för att öppna användargränssnittet för tjänsten på en separat flik.
På startsidan väljer du Mata in för att öppna Kopiera data verktyget.
På sidan Egenskaper väljer du Inbyggd kopieringsaktivitet under Aktivitetstyp och väljer Kör en gång nu under Aktivitet takt eller uppgiftsschema och väljer sedan Nästa.
På sidan Källdatalager väljer du + Ny anslutning. Välj SAP BW Open Hub från galleriet med anslutningsappar och välj sedan Fortsätt. Om du vill filtrera anslutningsapparna kan du skriva SAP i sökrutan.
På sidan Ny anslutning (SAP BW Open Hub) följer du dessa steg för att skapa en ny anslutning.
Från listan Anslut via Integration Runtime väljer du en befintlig IR med egen värd. Du kan också välja att skapa en om du inte har någon ännu.
Om du vill skapa en ny IR med egen värd väljer du +Ny och sedan Egen värd. Ange ett Namn och välj sedan Nästa. Välj Expressinstallation för att installera på den aktuella datorn eller följ anvisningarna för manuell installation.
Som vi nämnde i Kravkontrollerar du att du har SAP Connector för Microsoft .NET 3.0 installerat på samma dator där den lokala IR:en körs.
Fyll i SAP BW Servernamn, Systemnummer, Klient-ID, Språk (om det inte är EN), Användarnamn och Lösenord.
Välj Testa anslutning för att verifiera inställningarna och välj sedan Skapa.
På sidan Källdatalager väljer du den nyligen skapade anslutningen i anslutningsblocket.
I avsnittet om att välja Open Hub-mål bläddrar du till Open Hub-mål som är tillgängliga i din SAP BW. Du kan förhandsgranska data i varje mål genom att välja förhandsgranskningsknappen i slutet av varje rad. Välj den OHD som data ska kopieras från och välj sedan Nästa.
Ange ett filter om du behöver ett. Om ohd-enheten bara innehåller data från en enda körning av dataöverföringsprocessen (DTP) med ett enda begärande-ID, eller om du är säker på att DTP är klar och du vill kopiera data, avmarkerar du kryssrutan Undanta senaste begäran i avsnittet Avancerat. Du kan förhandsgranska data genom att välja knappen Förhandsgranska data.
Mer information om de här inställningarna finns i SAP BW för Open Hub-målkonfigurationer i den här artikeln. Välj sedan Nästa.
På sidan Måldatalager väljer du + Ny anslutning Azure Data Lake Storage > Gen2 > Fortsätt.
På sidan Ny anslutning (Azure Data Lake Storage Gen2) följer du dessa steg för att skapa en anslutning.
- Välj ditt Data Lake Storage Gen2-kompatibelt konto i listrutan Namn.
- Välj Skapa för att skapa anslutningen.
På sidan Måldatalager väljer du den nyligen skapade anslutningen i avsnittet Anslutning och anger copyfromopenhub som namn på utdatamappen. Välj sedan Nästa.
På sidan Filformatinställning väljer du Nästa för att använda standardinställningarna.
På Inställningar anger du ett aktivitetsnamn och expanderar Avancerat. Ange ett värde för Grad av kopieringsparallellitet, till exempel 5 för inläsning från SAP BW parallellt. Välj sedan Nästa.
Granska inställningarna på sidan Sammanfattning . Välj sedan Nästa.
På sidan Distribution väljer du Övervaka för att övervaka pipelinen.
Observera att fliken Övervaka till vänster på sidan väljs automatiskt. Du kan använda länkar under kolumnen Pipelinenamn på sidan Pipelinekörningar för att visa aktivitetsinformation och köra pipelinen igen.
Om du vill visa aktivitetskörningar som är associerade med pipelinekörningen väljer du länkar under kolumnen Pipelinenamn. Det finns bara en aktivitet (kopieringsaktiviteten) i pipelinen. Därför visas bara en post. Om du vill växla tillbaka till vyn för pipelinekörningar väljer du länken Alla pipelinekörningar högst upp. Om du vill uppdatera listan väljer du Refresh (Uppdatera).
Om du vill övervaka körningsinformationen för varje kopieringsaktivitet väljer du länken Information, som är en glasögonikon på samma rad för varje kopieringsaktivitet i aktivitetsövervakningsvyn. Tillgänglig information omfattar den datavolym som kopierats från källan till mottagaren, dataflöde, körningssteg och varaktighet samt konfigurationer som används.
Om du vill visa maximalt id för begäran för varje kopieringsaktivitet går du tillbaka till vyn för aktivitetsövervakning och väljer Utdata på samma rad för varje kopieringsaktivitet.
Inkrementell kopiering SAP BW Open Hub
Tips
Se SAP BW delta-extraheringsflödet för Open Hub-anslutning för att lära SAP BW Open Hub-anslutningsappen kopierar inkrementella data från SAP BW. Den här artikeln kan också hjälpa dig att förstå grundläggande konfiguration av anslutningsappar.
Nu ska vi fortsätta att konfigurera inkrementell kopiering från SAP BW Open Hub.
Inkrementell kopiering använder en "vattenstämpel"-mekanism som baseras på begäran-ID:t. Detta ID genereras automatiskt i SAP BW Open Hub Destination av DTP. Följande diagram visar det här arbetsflödet:
På startsidan väljer du Pipeline-mallar i avsnittet Identifiera mer för att använda den inbyggda mallen.
Sök efter SAP BW att hitta och välj mallen Incremental copy from SAP BW to Azure Data Lake Storage Gen2 (Inkrementell kopia från SAP BW till Azure Data Lake Storage Gen2). Den här mallen kopierar data till Azure Data Lake Storage Gen2. Du kan använda ett liknande arbetsflöde för att kopiera till andra typer av mottagare.
På mallens huvudsida väljer eller skapar du följande tre anslutningar och väljer sedan Använd den här mallen i det nedre högra hörnet i fönstret.
- Azure Blob Storage: I den här genomgången använder vi Azure Blob Storage för att lagra högvattenmärket, vilket är det högsta kopierade begärande-ID:t.
- SAP BW Open Hub: Det här är källan som data ska kopieras från. Se föregående fullständiga genomgång för detaljerad konfiguration.
- Azure Data Lake Storage Gen2: Det här är mottagaren att kopiera data till. Se föregående fullständiga genomgång för detaljerad konfiguration.
Den här mallen genererar en pipeline med följande tre aktiviteter och gör dem länkade efter framgång: Lookup, Kopiera data och Web.
Gå till fliken Parametrar för pipelinen. Du ser alla konfigurationer som du behöver ange.
SAPOpenHubDestinationName: Ange det Open Hub-tabellnamn som data ska kopieras från.
Data_Destination_Container: Ange Azure Data Lake-målcontainern Storage Gen2 som data ska kopieras till. Om containern inte finns skapar kopieringsaktiviteten en under körningen.
Data_Destination_Directory: Ange mappsökvägen under Azure Data Lake-Storage Gen2-containern som data ska kopieras till. Om sökvägen inte finns skapar kopieringsaktiviteten en sökväg under körningen.
HighWatermarkBlobContainer: Ange den container som ska lagra värdet för högvattenmärket.
HighWatermarkBlobDirectory: Ange mappsökvägen under containern för att lagra värdet för högvattenmärket.
HighWatermarkBlobName: Ange blobnamnet för att lagra värdet för högvattenmärket, till exempel
requestIdCache.txt. I Blob Storage går du till motsvarande sökväg för HighWatermarkBlobContainer+HighWatermarkBlobDirectory+HighWatermarkBlobName, till exempel container/path/requestIdCache.txt. Skapa en blob med innehåll 0.
LogicAppURL: I den här mallen använder vi WebActivity för att anropa Azure Logic Apps för att ange värdet för högvattenmärket i Blob Storage. Eller så kan du använda Azure SQL Database för att lagra den. Använd en lagrad proceduraktivitet för att uppdatera värdet.
Du måste först skapa en logikapp, som du ser i följande bild. Klistra sedan in HTTP POST-URL:en.
Gå till Azure-portalen. Välj en ny Logic Apps tjänst. Välj +Tom logikapp för att gå till Logic Apps Designer.
Skapa en utlösare för När en HTTP-begäran tas emot. Ange HTTP-begärandetexten på följande sätt:
{ "properties": { "sapOpenHubMaxRequestId": { "type": "string" } }, "type": "object" }Lägg till en Skapa blob-åtgärd. För Mappsökväg och Blobnamn använder du samma värden som du konfigurerade tidigare i HighWatermarkBlobContainer+HighWatermarkBlobDirectory och HighWatermarkBlobName.
Välj Spara. Kopiera sedan värdet för HTTP POST-URL:en som ska användas i pipelinen.
När du har anger pipelineparametrarna väljer du Felsök > slutför för att anropa en körning för att verifiera konfigurationen. Du kan också välja Publicera för att publicera alla ändringar och sedan välja Lägg till utlösare för att köra en körning.
SAP BW för Open Hub-mål
I det här avsnittet beskrivs konfigurationen av SAP BW för att använda SAP BW Open Hub-anslutning för att kopiera data.
Konfigurera delta-extrahering i SAP BW
Om du behöver både historisk och inkrementell kopiering eller endast inkrementell kopiering konfigurerar du delta-extrahering i SAP BW.
Skapa Open Hub-målet. Du kan skapa OHD i SAP Transaction RSA1, som automatiskt skapar den transformering och dataöverföringsprocess som krävs. Använd följande inställningar:
- ObjectType: Du kan använda vilken objekttyp som helst. Här använder vi InfoCube som exempel.
- Måltyp: Välj Databastabell.
- Nyckeln för tabellen : Välj Teknisk nyckel.
- Extrahering: Välj Behåll data och Infoga poster i tabell.
Du kan öka antalet parallella SAP-arbetsprocesser för DTP:
Schemalägg DTP i processkedjor.
En delta-DTP för en kub fungerar bara om de nödvändiga raderna inte har komprimerats. Kontrollera att BW-kubkomprimering inte körs innan DTP till Open Hub-tabellen. Det enklaste sättet att göra detta är att integrera DTP i dina befintliga processkedjor. I följande exempel infogas DTP (till OHD) i processkedjan mellan stegen Justera (sammanställd sammanslagning) och Komprimera (kubkomprimering).
Konfigurera fullständig extrahering i SAP BW
Förutom delta-extrahering kanske du vill ha en fullständig extrahering av samma SAP BW InfoProvider. Detta gäller vanligtvis om du vill göra en fullständig kopia men inte inkrementell, eller om du vill synkronisera om delta-extrahering.
Du kan inte ha mer än en DTP för samma OHD. Därför måste du skapa ytterligare en OHD före delta-extrahering.
För en fullständig belastnings-OHD väljer du andra alternativ än för delta-extrahering:
I OHD: Ställ in extraheringsalternativet på Ta bort data och Infoga poster. Annars extraheras data många gånger när du upprepar DTP i en BW-processkedja.
I DTP: Ställ in Extraheringsläge på Fullständig. Du måste ändra den automatiskt skapade DTP:en från Delta till Fullständig omedelbart efter att OHD har skapats, som den här bilden visar:
I BW Open Hub-anslutningsappen: Inaktivera Exkludera senaste begäran. Annars extraheras ingenting.
Du kör vanligtvis fullständig DTP manuellt. Eller så kan du skapa en processkedja för fullständig DTP. Det är vanligtvis en separat kedja som är oberoende av dina befintliga processkedjor. I båda fallen kontrollerar du att DTP är klar innan du startar extrahering med hjälp av kopiera. Annars kopieras endast partiella data.
Kör delta-extrahering första gången
Den första delta-extraheringen är tekniskt sett en fullständig extrahering. Som standard utesluter SAP BW Open Hub-anslutningsappen den senaste begäran när data kopieras. Vid den första delta-extraheringen extraheras inga data av kopieringsaktiviteten förrän en efterföljande DTP genererar deltadata i tabellen med ett separat begärande-ID. Det finns två sätt att undvika det här scenariot:
- Inaktivera alternativet Exkludera senaste begäran för den första delta-extraheringen. Kontrollera att den första delta-DTP:en är klar innan du startar delta-extraheringen första gången.
- Använd proceduren för att omsynkronisering av delta-extrahering, enligt beskrivningen i nästa avsnitt.
Omsynkronisering av delta-extrahering
Följande scenarier ändrar data i SAP BW kuber men beaktas inte av delta-DTP:
- SAP BW selektiv borttagning (av rader med hjälp av filtervillkor)
- SAP BW borttagning av begäran (av felaktiga begäranden)
Ett SAP Open Hub-mål är inte ett datamartkontrollerat datamål (i alla SAP BW supportpaket sedan 2015). Du kan därför ta bort data från en kub utan att ändra data i OHD. Du måste sedan synkronisera om kubens data med tjänsten:
- Kör en fullständig extrahering i tjänsten (med hjälp av en fullständig DTP i SAP).
- Ta bort alla rader i Open Hub-tabellen för delta-DTP.
- Ange status för delta-DTP till Fetched.
Därefter fungerar alla efterföljande delta-DTPs och delta-extrahering som förväntat.
Om du vill ange status för delta-DTP till Fetched kan du använda följande alternativ för att köra delta-DTP manuellt:
Ingen dataöverföring; Deltastatus i källa: Hämtade
Nästa steg
Lär dig mer SAP BW stöd för Open Hub-anslutning: