Copiare dati da SAP Business Warehouse con Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo illustra come usare le pipeline di Azure Data Factory o Synapse Analytics per copiare dati da SAP Business Warehouse (BW) tramite Open Hub in Azure Data Lake Archiviazione Gen2. È possibile usare un processo simile per copiare dati in altri archivi dati sink supportati.

Suggerimento

Per informazioni generali sulla copia di dati da SAP BW, tra cui l'integrazione di SAP BW Open Hub e il flusso di estrazione differenziale, vedere Copiare dati da SAP Business Warehouse tramite Open Hub usando Azure Data Factory.

Prerequisiti

  • Area di lavoro di Azure Data Factory o Synapse: se non è disponibile, seguire la procedura per creare una data factory o creare un'area di lavoro synapse.

  • SAP BW Open Hub Destination (OHD) con tipo di destinazione "Tabella di database": per creare un OHD o per verificare che l'OHD sia configurato correttamente per l'integrazione con il servizio, vedere la sezione Configurazioni della destinazione dell'hub open di SAP BW di questo articolo.

  • L'utente SAP BW necessita delle autorizzazioni seguenti:

    • Autorizzazione per chiamate di funzione remote (RFC) e SAP BW.
    • Autorizzazioni per l'attività "Esegui" dell'oggetto autorizzazione S_SDSAUTH .
  • Runtime di integrazione self-hosted con SAP .NET Connector 3.0. Seguire questa procedura di installazione:

    1. Installare e registrare il runtime di integrazione self-hosted versione 3.13 o successiva. Questo processo è descritto più avanti in questo articolo.

    2. Scaricare sap Connessione or a 64 bit per Microsoft .NET 3.0 dal sito Web sap e installarlo nello stesso computer del runtime di integrazione self-hosted. Durante l'installazione, assicurarsi di selezionare Installa assembly in GAC nella finestra di dialogo Passaggi di installazione facoltativi, come illustrato nell'immagine seguente:

      Set up SAP .NET Connector dialog box

Eseguire una copia completa da SAP BW Open Hub

Nel portale di Azure passare al servizio. Selezionare Apri nel riquadro Apri Azure Data Factory Studio o Apri Synapse Studio per aprire l'interfaccia utente del servizio in una scheda separata.

  1. Nella home page selezionare Inserimento per aprire lo strumento Copia dati.

  2. Nella pagina Proprietà scegliere Attività di copia predefinita in Tipo di attività e scegliere Esegui una sola volta in Frequenza attività o pianificazione attività e quindi selezionare Avanti.

  3. Nella pagina Archivio dati di origine selezionare + Nuova connessione. Selezionare SAP BW Open Hub dalla raccolta di connettori e quindi selezionare Continua. Per filtrare i connettori, è possibile digitare SAP nella casella di ricerca.

  4. Nella pagina Nuova connessione (SAP BW Open Hub) seguire questa procedura per creare una nuova connessione.

    1. Nell'elenco Connessione tramite il runtime di integrazione selezionare un runtime di integrazione self-hosted esistente. In alternativa, scegliere di crearne uno se non ne è ancora disponibile uno.

      Per creare un nuovo runtime di integrazione self-hosted, selezionare +Nuovo e quindi selezionare Self-hosted. Immettere un nome e quindi selezionare Avanti. Selezionare Installazione rapida per eseguire l'installazione nel computer corrente oppure seguire la procedura di installazione manuale fornita.

      Come indicato in Prerequisiti, assicurarsi di disporre di SAP Connessione or per Microsoft .NET 3.0 installato nello stesso computer in cui è in esecuzione il runtime di integrazione self-hosted.

    2. Immettere il nome del server SAP BW, il numero di sistema, l'ID client, la lingua (se diverso da EN), il nome utente e la password.

    3. Selezionare Test connessione per convalidare le impostazioni e quindi selezionare Crea.

    Create SAP BW Open Hub-linked service page

    1. Nella pagina Archivio dati di origine selezionare la connessione appena creata nel blocco Connessione ion.

    2. Nella sezione relativa alla selezione di destinazioni Open Hub (Apri destinazioni hub) esplorare le destinazioni open hub disponibili in SAP BW. È possibile visualizzare in anteprima i dati in ogni destinazione selezionando il pulsante di anteprima alla fine di ogni riga. Selezionare OHD da cui copiare i dati e quindi selezionare Avanti.

    Screenshot showing the 'Source data store' page.

  5. Specificare un filtro, se necessario. Se l'OHD contiene solo dati da un'esecuzione DTP (Data Transfer Process) singola con un singolo ID richiesta oppure si è certi che il DTP sia stato completato e si desidera copiare i dati, deselezionare la casella di controllo Escludi ultima richiesta nella sezione Avanzate . È possibile visualizzare in anteprima i dati selezionando il pulsante Anteprima dati .

    Altre informazioni su queste impostazioni sono disponibili nella sezione Configurazioni della destinazione dell'hub aperto SAP BW di questo articolo. Quindi seleziona Avanti.

    Configure SAP BW Open Hub filter

  6. Nella pagina Archivio dati di destinazione selezionare + Nuova connessione>Azure Data Lake Archiviazione Gen2>Continua.

  7. Nella pagina Nuova connessione (Azure Data Lake Archiviazione Gen2) seguire questa procedura per creare una connessione.

    1. Selezionare l'account con supporto per Data Lake Archiviazione Gen2 dall'elenco a discesa Nome.
    2. Seleziona Crea per creare la connessione.

    Create an ADLS Gen2 linked service page

  8. Nella pagina Archivio dati di destinazione selezionare la connessione appena creata nella sezione Connessione ion e immettere copyfromopenhub come nome della cartella di output. Quindi seleziona Avanti.

    Screenshot showing the 'Destination data store' page.

  9. Nella pagina Impostazione Formato file selezionare Avanti per usare le impostazioni predefinite.

    Specify sink format page

  10. Nella pagina Impostazioni specificare un nome attività ed espandere Avanzate. Immettere un valore per Grado di parallelismo di copia, ad esempio 5 da caricare da SAP BW in parallelo. Quindi seleziona Avanti.

    Configure copy settings

  11. Nella pagina Riepilogo esaminare le impostazioni. Quindi seleziona Avanti.

    Screenshot showing the Summary page.

  12. Nella pagina Distribuzione selezionare Monitoraggio per monitorare la pipeline.

  13. Si noti che la scheda Monitoraggio sul lato sinistro della pagina viene selezionata automaticamente. È possibile usare i collegamenti nella colonna Nome pipeline nella pagina Esecuzioni pipeline per visualizzare i dettagli dell'attività e rieseguire la pipeline.

  14. Per visualizzare le esecuzioni di attività associate all'esecuzione della pipeline, selezionare i collegamenti nella colonna Nome pipeline. Dato che la pipeline contiene una sola attività (attività di copia), viene visualizzata una sola voce. Per tornare alla visualizzazione delle esecuzioni della pipeline, selezionare il collegamento Tutte le esecuzioni della pipeline nella parte superiore. Selezionare Aggiorna per aggiornare l'elenco.

    Activity-monitoring screen

  15. Per monitorare i dettagli di esecuzione per ogni attività di copia, selezionare il collegamento Dettagli , ovvero un'icona degli occhiali nella stessa riga di ogni attività di copia nella visualizzazione di monitoraggio delle attività. I dettagli disponibili includono il volume di dati copiato dall'origine al sink, la velocità effettiva dei dati, i passaggi di esecuzione e la durata e le configurazioni usate.

    Activity monitoring details

  16. Per visualizzare l'ID richiesta massimo di ogni attività di copia, tornare alla visualizzazione monitoraggio attività e selezionare Output nella stessa riga di ogni attività di copia.

    Activity output screen

    Activity output details view

Copia incrementale da SAP BW Open Hub

Suggerimento

Vedere Flusso di estrazione differenziale del connettore Open Hub sap BW per informazioni su come SAP BW Open Hub Connector copia i dati incrementali da SAP BW. Questo articolo consente anche di comprendere la configurazione di base del connettore.

A questo punto, si continuerà a configurare la copia incrementale da SAP BW Open Hub.

La copia incrementale usa un meccanismo "limite elevato" basato sull'ID richiesta. Tale ID viene generato automaticamente nella destinazione dell'hub aperto SAP BW da DTP. Il diagramma seguente illustra questo flusso di lavoro:

Incremental copy workflow flow chart

Nella home page selezionare Modelli di pipeline nella sezione Individua altro per usare il modello predefinito.

  1. Cercare SAP BW per trovare e selezionare il modello Copia incrementale da SAP BW ad Azure Data Lake Archiviazione Gen2. Questo modello copia i dati in Azure Data Lake Archiviazione Gen2. È possibile usare un flusso di lavoro simile per copiare in altri tipi di sink.

  2. Nella pagina principale del modello selezionare o creare le tre connessioni seguenti e quindi selezionare Usa questo modello nell'angolo in basso a destra della finestra.

    • Archiviazione BLOB di Azure: in questa procedura dettagliata si usa Archiviazione BLOB di Azure per archiviare la filigrana elevata, ovvero l'ID richiesta massima copiato.
    • SAP BW Open Hub: origine da cui copiare i dati. Per informazioni dettagliate sulla configurazione, vedere la procedura dettagliata per la copia completa precedente.
    • Azure Data Lake Archiviazione Gen2: sink in cui copiare i dati. Per informazioni dettagliate sulla configurazione, vedere la procedura dettagliata per la copia completa precedente.

    Incremental copy from SAP BW template

  3. Questo modello genera una pipeline con le tre attività seguenti e le rende concatenati: Ricerca, Copia dati e Web.

    Passare alla scheda Parametri della pipeline. Vengono visualizzate tutte le configurazioni da fornire.

    Incremental copy from SAP BW configuration

    • SAPOpenHubDestinationName: specificare il nome della tabella dell'hub aperto da cui copiare i dati.

    • Data_Destination_Container: specificare il contenitore Azure Data Lake di destinazione Archiviazione Gen2 in cui copiare i dati. Se il contenitore non esiste, l'attività di copia ne crea una durante l'esecuzione.

    • Data_Destination_Directory: specificare il percorso della cartella nel contenitore Azure Data Lake Archiviazione Gen2 in cui copiare i dati. Se il percorso non esiste, l'attività di copia crea un percorso durante l'esecuzione.

    • HighWatermarkBlobContainer: specificare il contenitore in cui archiviare il valore limite massimo.

    • HighWatermarkBlobDirectory: specificare il percorso della cartella nel contenitore per archiviare il valore limite massimo.

    • HighWatermarkBlobName: specificare il nome del BLOB per archiviare il valore limite massimo, ad esempio requestIdCache.txt. In Archiviazione BLOB passare al percorso corrispondente di HighWatermarkBlobContainer+HighWatermarkBlobDirectory+HighWatermarkBlobName, ad esempio container/path/requestIdCache.txt. Creare un BLOB con contenuto 0.

      Blob content

    • LogicAppURL: in questo modello si usa WebActivity per chiamare App per la logica di Azure per impostare il valore limite massimo nell'archivio BLOB. In alternativa, è possibile usare database SQL di Azure per archiviarlo. Usare un'attività stored procedure per aggiornare il valore.

      È prima necessario creare un'app per la logica, come illustrato nell'immagine seguente. Incollare quindi l'URL HTTP POST.

      Logic App configuration

      1. Vai al portale di Azure. Selezionare un nuovo servizio App per la logica. Selezionare +App per la logica vuota per passare a Progettazione app per la logica.

      2. Creare un trigger di Quando viene ricevuta una richiesta HTTP. Specificare il corpo della richiesta HTTP come indicato di seguito:

        {
           "properties": {
              "sapOpenHubMaxRequestId": {
                 "type": "string"
              }
           },
           "type": "object"
        }
        
      3. Aggiungere un'azione Crea BLOB . Per Percorso cartella e Nome BLOB, usare gli stessi valori configurati in precedenza in HighWatermarkBlobContainer+HighWatermarkBlobDirectory e HighWatermarkBlobName.

      4. Seleziona Salva. Copiare quindi il valore di URL HTTP POST da usare nella pipeline.

  4. Dopo aver specificato i parametri della pipeline, selezionare Debug>Fine per richiamare un'esecuzione per convalidare la configurazione. In alternativa, selezionare Pubblica per pubblicare tutte le modifiche e quindi selezionare Aggiungi trigger per eseguire un'esecuzione.

Configurazioni di destinazione dell'hub aperto SAP BW

Questa sezione presenta la configurazione del lato SAP BW per usare il connettore SAP BW Open Hub per copiare i dati.

Configurare l'estrazione differenziale in SAP BW

Se è necessaria sia la copia cronologica che la copia incrementale o solo la copia incrementale, configurare l'estrazione differenziale in SAP BW.

  1. Creare la destinazione dell'hub aperto. È possibile creare l'OHD in SAP Transaction RSA1, che crea automaticamente il processo di trasformazione e trasferimento dei dati richiesto. Usare le seguenti impostazioni:

    • ObjectType: è possibile usare qualsiasi tipo di oggetto. In questo caso viene usato InfoCube come esempio.
    • Tipo di destinazione: selezionare Tabella di database.
    • Chiave della tabella: selezionare Chiave tecnica.
    • Estrazione: selezionare Mantieni dati e Inserisci record nella tabella.

    Create SAP BW OHD delta extraction dialog box

    Create SAP BW OHD delta2 extraction dialog box

    È possibile aumentare il numero di processi di lavoro SAP in esecuzione parallela per DTP:

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

  2. Pianificare il DTP nelle catene di processi.

    Un DTP differenziale per un cubo funziona solo se le righe necessarie non sono state compresse. Assicurarsi che la compressione del cubo BW non sia in esecuzione prima di DTP nella tabella Open Hub. Il modo più semplice per eseguire questa operazione consiste nell'integrare il DTP nelle catene di processi esistenti. Nell'esempio seguente, il DTP (per l'OHD) viene inserito nella catena di processi tra i passaggi Regola (rollup di aggregazione ) e Comprimi (compressione del cubo).

    Create SAP BW process chain flow chart

Configurare l'estrazione completa in SAP BW

Oltre all'estrazione differenziale, potrebbe essere necessario un'estrazione completa dello stesso InfoProvider SAP BW. Questo vale in genere se si vuole eseguire la copia completa ma non incrementale o si vuole risincronizzare l'estrazione differenziale.

Non puoi avere più DTP per lo stesso OHD. Quindi, è necessario creare un OHD aggiuntivo prima dell'estrazione differenziale.

Create SAP BW OHD full

Per un ohD di carico completo, scegliere opzioni diverse rispetto all'estrazione differenziale:

  • In OHD: impostare l'opzione Estrazione su Elimina dati e Inserisci record. In caso contrario, i dati verranno estratti più volte quando si ripete il DTP in una catena di processi BW.

  • In DTP: Impostare la modalità di estrazione su Pieno. È necessario modificare il DTP creato automaticamente da Delta a Full immediatamente dopo la creazione dell'OHD, come illustrato nell'immagine seguente:

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

  • Nel connettore BW Open Hub: Disattiva Escludi ultima richiesta. In caso contrario, non verrà estratto alcun elemento.

In genere si esegue manualmente il DTP completo. In alternativa, è possibile creare una catena di processi per il DTP completo. Si tratta in genere di una catena separata indipendente dalla catena di processi esistente. In entrambi i casi, assicurarsi che il DTP sia terminato prima di iniziare l'estrazione usando la copia. In caso contrario, verranno copiati solo i dati parziali.

Eseguire l'estrazione differenziale la prima volta

La prima estrazione differenziale è tecnicamente un'estrazione completa. Per impostazione predefinita, il connettore SAP BW Open Hub esclude l'ultima richiesta quando copia i dati. Per la prima estrazione differenziale, nessun dato viene estratto dall'attività di copia fino a quando un DTP successivo genera dati differenziali nella tabella con un ID richiesta separato. Esistono due modi per evitare questo scenario:

  • Disattivare l'opzione Escludi ultima richiesta per la prima estrazione differenziale. Assicurarsi che il primo DTP differenziale sia terminato prima di avviare l'estrazione differenziale la prima volta.
  • Usare la procedura per risincronizzare l'estrazione differenziale, come descritto nella sezione successiva.

Risincronizzazione dell'estrazione differenziale

Gli scenari seguenti modificano i dati nei cubi SAP BW, ma non vengono considerati dal DTP differenziale:

  • Eliminazione selettiva di SAP BW (di righe tramite qualsiasi condizione di filtro)
  • Eliminazione della richiesta SAP BW (di richieste non valide)

Una destinazione sap Open Hub non è una destinazione dati controllata dal data mart (in tutti i pacchetti di supporto SAP BW dal 2015). È quindi possibile eliminare i dati da un cubo senza modificare i dati nell'OHD. È quindi necessario risincronizzare i dati del cubo con il servizio:

  1. Eseguire un'estrazione completa nel servizio (usando un DTP completo in SAP).
  2. Eliminare tutte le righe nella tabella Open Hub per il DTP differenziale.
  3. Impostare lo stato del DTP differenziale su Recupera.

In seguito, tutti i DTP differenziali e le estrazioni differenziali successive funzionano come previsto.

Per impostare lo stato del delta DTP su Fetched, è possibile usare l'opzione seguente per eseguire manualmente il delta DTP:

Nessun trasferimento dati; Stato delta nell'origine: recupero

Informazioni sul supporto di SAP BW Open Hub Connector: