Kopiera data från SAP Business Warehouse med Azure Data Factory eller Synapse Analytics

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 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 mottagardatalager som stöds.

Dricks

Allmän information om hur du kopierar data från SAP BW, inklusive SAP BW Open Hub-integrering och deltaextraheringsflöde, finns i Kopiera data från SAP Business Warehouse via Open Hub med hjälp av Azure Data Factory.

Förutsättningar

  • Azure Data Factory eller Synapse-arbetsytan: Om du inte har någon följer du stegen för att skapa en datafabrik eller skapa en Synapse-arbetsyta.

  • SAP BW Open Hub Destination (OHD) med måltypen "Database Table": Information om hur du skapar en OHD eller för att kontrollera att ohd är korrekt konfigurerad för integrering med tjänsten finns i avsnittet SAP BW Open Hub Destination Configurations i den här artikeln.

  • SAP BW-användaren behöver följande behörigheter:

    • Auktorisering för RFC (Remote Function Calls) och SAP BW.
    • Behörigheter till aktiviteten "Kör" för S_SDSAUTH-auktoriseringsobjektet.
  • En lokalt installerad integrationskörning (IR) med SAP .NET Connector 3.0. Följ de här installationsstegen:

    1. Installera och registrera den lokalt installerade integrationskörningen, version 3.13 eller senare. (Den här processen beskrivs senare i den här artikeln.)

    2. Ladda ned 64-bitars SAP-Anslut eller för Microsoft .NET 3.0 från SAP:s webbplats och installera den på samma dator som den lokalt installerade IR:en. Under installationen kontrollerar du att du väljer Installera sammansättningar till GAC i dialogrutan Valfria installationssteg , som följande bild visar:

      Set up SAP .NET Connector dialog box

Gör en fullständig kopia från SAP BW Open Hub

Gå till din tjänst i Azure-portalen. Välj Öppna på panelen Öppna Azure Data Factory Studio eller Öppna Synapse Studio för att öppna tjänstgränssnittet på en separat flik.

  1. På startsidan väljer du Mata in för att öppna verktyget Kopiera data.

  2. På sidan Egenskaper väljer du Inbyggd kopieringsaktivitet under Aktivitetstyp och väljer Kör en gång nu under Aktivitetstakt eller aktivitetsschema och väljer sedan Nästa.

  3. På sidan Källdatalager väljer du + Ny anslutning. Välj SAP BW Open Hub från anslutningsgalleriet och välj sedan Fortsätt. Om du vill filtrera anslutningsapparna kan du skriva SAP i sökrutan.

  4. På sidan Ny anslutning (SAP BW Open Hub) följer du de här stegen för att skapa en ny anslutning.

    1. I listan Anslut via integrationskörning väljer du en befintlig lokalt installerad IR. Eller välj att skapa en om du inte har någon ännu.

      Om du vill skapa en ny lokalt installerad IR väljer du +Ny och sedan Lokalt installerad. Ange ett namn och välj sedan Nästa. Välj Express-installation för att installera på den aktuella datorn eller följ de manuella installationsstegen som tillhandahålls.

      Se till att SAP-Anslut eller för Microsoft .NET 3.0 är installerat på samma dator där den lokalt installerade IR:en körs.

    2. Fyll i SAP BW-servernamn, systemnummer, klient-ID, språk (om annat än EN), användarnamn och lösenord.

    3. Välj Testa anslutning för att verifiera inställningarna och välj sedan Skapa.

    Create SAP BW Open Hub-linked service page

    1. På sidan Källdatalager väljer du den nyligen skapade anslutningen i Anslut ionsblocket.

    2. I avsnittet om att välja Open Hub-mål bläddrar du till de 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 du vill kopiera data från och välj sedan Nästa.

    Screenshot showing the 'Source data store' page.

  5. Ange ett filter om du behöver ett. Om din OHD endast innehåller data från en enda DTP-körning (dataöverföringsprocess) med ett enda begärande-ID, eller om du är säker på att din DTP är klar och du vill kopiera data, avmarkerar du kryssrutan Exkludera senaste begäran i avsnittet Avancerat . Du kan förhandsgranska data genom att välja knappen Förhandsgranska data .

    Läs mer om de här inställningarna i avsnittet SAP BW Open Hub-målkonfigurationer i den här artikeln. Välj sedan Nästa.

    Configure SAP BW Open Hub filter

  6. På sidan Måldatalager väljer du + Ny anslutning>Azure Data Lake Storage Gen2>Fortsätt.

  7. På sidan Ny anslutning (Azure Data Lake Storage Gen2) följer du de här stegen för att skapa en anslutning.

    1. Välj ditt Data Lake Storage Gen2-kompatibla konto i listrutan Namn .
    2. Skapa anslutningen genom att välja Skapa.

    Create an ADLS Gen2 linked service page

  8. På sidan Måldatalager väljer du den nyligen skapade anslutningen i avsnittet Anslut ion och anger copyfromopenhub som namn på utdatamappen. Välj sedan Nästa.

    Screenshot showing the 'Destination data store' page.

  9. På inställningssidan Filformat väljer du Nästa för att använda standardinställningarna.

    Specify sink format page

  10. På sidan Inställningar anger du ett uppgiftsnamn och expanderar Avancerat. Ange ett värde för Grad av kopieringsparallellitet , till exempel 5 för att läsa in från SAP BW parallellt. Välj sedan Nästa.

    Configure copy settings

  11. Granska inställningarna på sidan Sammanfattning . Välj sedan Nästa.

    Screenshot showing the Summary page.

  12. På sidan Distribution väljer du Övervaka för att övervaka pipelinen.

  13. Observera att fliken Övervaka till vänster på sidan väljs automatiskt. Du kan använda länkar under kolumnen Pipelinenamnsidan Pipelinekörningar för att visa aktivitetsinformation och köra pipelinen igen.

  14. 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 pipelinekörningsvyn väljer du länken Alla pipelinekörningar längst upp. Om du vill uppdatera listan väljer du Refresh (Uppdatera).

    Activity-monitoring screen

  15. Om du vill övervaka körningsinformationen för varje kopieringsaktivitet väljer du länken Information , som är en glasögonikon på samma rad i varje kopieringsaktivitet i aktivitetsövervakningsvyn. Tillgänglig information omfattar den datavolym som kopieras från källan till mottagaren, dataflöde, körningssteg och varaktighet samt konfigurationer som används.

    Activity monitoring details

  16. Om du vill visa det maximala begärande-ID:t för varje kopieringsaktivitet går du tillbaka till vyn aktivitetsövervakning och väljer Utdata på samma rad i varje kopieringsaktivitet.

    Activity output screen

    Activity output details view

Inkrementell kopia från SAP BW Open Hub

Dricks

Mer information om hur SAP BW Open Hub-anslutningsappen kopierar inkrementella data från SAP BW finns i deltaextraheringsflödet för SAP BW Open Hub. 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 mekanism med högvattenstämpel som baseras på begärande-ID :t. Det ID:t genereras automatiskt i SAP BW Open Hub-målet av DTP. Följande diagram visar det här arbetsflödet:

Incremental copy workflow flow chart

På startsidan väljer du Pipeline-mallar i avsnittet Identifiera fler för att använda den inbyggda mallen.

  1. Sök efter SAP BW för att hitta och välj mallen 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 mottagartyper.

  2. 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ögvattenstämpeln, som är det maximala kopierade begärande-ID:t.
    • SAP BW Open Hub: Det här är källan att kopiera data från. Detaljerad konfiguration finns i föregående genomgång av fullständig kopiering.
    • Azure Data Lake Storage Gen2: Det här är mottagaren att kopiera data till. Detaljerad konfiguration finns i föregående genomgång av fullständig kopiering.

    Incremental copy from SAP BW template

  3. Den här mallen genererar en pipeline med följande tre aktiviteter och gör dem länkade vid framgång: Sökning, Kopiera data och Webb.

    Gå till fliken Pipelineparametrar. Du ser alla konfigurationer som du behöver ange.

    Incremental copy from SAP BW configuration

    • SAPOpenHubDestinationName: Ange det Open Hub-tabellnamn som du vill kopiera data från.

    • Data_Destination_Container: Ange den Azure Data Lake Storage Gen2-målcontainer som data ska kopieras till. Om containern inte finns skapar kopieringsaktiviteten en under körningen.

    • Data_Destination_Directory: Ange mappsökvägen under containern Azure Data Lake Storage Gen2 som du vill kopiera data till. Om sökvägen inte finns skapar kopieringsaktiviteten en sökväg under körningen.

    • HighWatermarkBlobContainer: Ange containern som ska lagra värdet för högvattenstämpeln.

    • HighWatermarkBlobDirectory: Ange mappsökvägen under containern för att lagra värdet för högvattenstämpel.

    • HighWatermarkBlobName: Ange blobnamnet för att lagra värdet för högvattenstämpel, 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.

      Blob content

    • 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ögvattenstämpel i Blob Storage. Du kan också 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 följande bild visar. Klistra sedan in HTTP POST-URL:en.

      Logic App configuration

      1. Gå till Azure-portalen. Välj en ny Logic Apps-tjänst . Välj +Tom logikapp för att gå till Logic Apps Designer.

      2. 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"
        }
        
      3. Lägg till åtgärden Skapa blob . För Mappsökväg och Blobnamn använder du samma värden som du konfigurerade tidigare i HighWatermarkBlobContainer+HighWatermarkBlobDirectory och HighWatermarkBlobName.

      4. Välj Spara. Kopiera sedan värdet för HTTP POST-URL som ska användas i pipelinen.

  4. När du har angett pipelineparametrarna väljer du Felsök>slutför för att anropa en körning för att verifiera konfigurationen. Eller välj Publicera för att publicera alla ändringar och välj sedan Lägg till utlösare för att köra en körning.

SAP BW Open Hub-målkonfigurationer

Det här avsnittet beskriver konfigurationen av SAP BW-sidan för att använda SAP BW Open Hub-anslutningsappen för att kopiera data.

Konfigurera deltaextrahering i SAP BW

Om du behöver både historisk kopia och inkrementell kopia eller endast inkrementell kopiering konfigurerar du deltaextrahering i SAP BW.

  1. Skapa open hub-målet. Du kan skapa OHD i SAP Transaction RSA1, vilket automatiskt skapar den nödvändiga omvandlings- och dataöverföringsprocessen. Använd följande inställningar:

    • ObjectType: Du kan använda valfri objekttyp. Här använder vi InfoCube som exempel.
    • Måltyp: Välj Databastabell.
    • Nyckel i tabellen: Välj Teknisk nyckel.
    • Extrahering: Välj Behåll data och infoga poster i tabellen.

    Create SAP BW OHD delta extraction dialog box

    Create SAP BW OHD delta2 extraction dialog box

    Du kan öka antalet parallella SAP-arbetsprocesser som körs för DTP:

    Screenshot shows Settings for Parallel Processing where you can select the number of parallel processes for the D T P.

  2. 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 före DTP till tabellen Open Hub. 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 Dölj (kubkomprimering).

    Create SAP BW process chain flow chart

Konfigurera fullständig extrahering i SAP BW

Förutom deltaextrahering 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 deltaextraheringen.

Du kan inte ha mer än en DTP för samma OHD. Därför måste du skapa ytterligare en OHD före deltaextrahering.

Create SAP BW OHD full

För en fullständig belastnings-OHD väljer du andra alternativ än för deltaextrahering:

  • I OHD: Ange alternativet Extrahering till Ta bort data och Infoga poster. Annars extraheras data många gånger när du upprepar DTP:n i en BW-processkedja.

  • I DTP: Ställ in extraheringslägetFull. Du måste ändra den automatiskt skapade DTP:n från Delta till Fullständig omedelbart efter att OHD har skapats, som den här bilden visar:

    Create SAP BW OHD dialog box configured for "Full" extraction

  • I BW Open Hub-anslutningsappen: Inaktivera Exkludera senaste begäran. Annars extraheras ingenting.

Du kör vanligtvis hela DTP manuellt. Eller så kan du skapa en processkedja för den fullständiga DTP:en. Det är vanligtvis en separat kedja som är oberoende av dina befintliga processkedjor. I båda fallen kontrollerar du att DTP:en är klar innan du påbörjar extraheringen med hjälp av kopian. Annars kopieras endast partiella data.

Kör deltaextrahering första gången

Den första deltaextraheringen är tekniskt sett en fullständig extrahering. Som standard utesluter SAP BW Open Hub-anslutningsappen den senaste begäran när den kopierar data. För den första deltaextraheringen 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 deltaextraheringen. Kontrollera att den första delta-DTP:en är klar innan du startar deltaextraheringen första gången.
  • Använd proceduren för att synkronisera om deltaextraheringen enligt beskrivningen i nästa avsnitt.

Synkronisera om deltaextrahering

Följande scenarier ändrar data i SAP BW-kuber men beaktas inte av delta DTP:

  • Selektiv borttagning av SAP BW (rader med hjälp av filtervillkor)
  • Borttagning av SAP BW-begäran (av felaktiga begäranden)

Ett SAP Open Hub-mål är inte ett datastyrt datamål (i alla SAP BW-supportpaket sedan 2015). Därför kan du ta bort data från en kub utan att ändra data i OHD. Sedan måste du synkronisera om kubens data med tjänsten:

  1. Kör en fullständig extrahering i tjänsten (med hjälp av en fullständig DTP i SAP).
  2. Ta bort alla rader i Open Hub-tabellen för delta DTP.
  3. Ange status för delta-DTP till Hämtad.

Efter detta fungerar alla efterföljande delta-DTP:er och deltaextraheringar som förväntat.

Om du vill ange status för delta-DTP:en till Hämtad kan du använda följande alternativ för att köra delta DTP manuellt:

Ingen dataöverföring; Deltastatus i källa: Hämtad

Läs mer om stöd för SAP BW Open Hub-anslutningsprogram: