Condividi tramite


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 all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

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 Storage 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 Connector 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:

      Finestra di dialogo Configura SAP .NET Connector

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 Connetti tramite 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 Connector 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. Seleziona Verifica connessione per verificare le impostazioni, quindi selezionare Crea.

    Pagina Creare un servizio collegato all'hub open sap BW

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

    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 che mostra la pagina

  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.

    Configurare il filtro sap BW Open Hub

  6. Nella pagina Archivio dati di destinazione selezionare + Nuova connessione>Azure Data Lake Storage Gen2>Continue (Continua).

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

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

    Creare una pagina del servizio collegato ADLS Gen2

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

    Screenshot che mostra la pagina

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

    Pagina Specifica formato sink

  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.

    Configurare le impostazioni di copia

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

    Screenshot che mostra la pagina Riepilogo.

  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.

    Schermata monitoraggio attività

  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.

    Dettagli del monitoraggio delle attività

  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.

    Schermata di output dell'attività

    Visualizzazione dettagli output attività

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:

Grafico di flusso del flusso di lavoro di copia incrementale

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 Incremental copy from SAP BW to Azure Data Lake Storage Gen2 (Copia incrementale da SAP BW a Azure Data Lake Storage Gen2). Questo modello copia i dati in Azure Data Lake Storage 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 Storage Gen2: sink in cui copiare i dati. Per informazioni dettagliate sulla configurazione, vedere la procedura dettagliata per la copia completa precedente.

    Copia incrementale dal modello SAP BW

  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.

    Copia incrementale dalla configurazione di SAP BW

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

    • Data_Destination_Container: specificare il contenitore azure Data Lake Storage Gen2 di destinazione 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 Storage 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.

      Contenuto BLOB

    • 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.

      Configurazione dell'app per la logica

      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.

    Finestra di dialogo Crea estrazione delta OHD DI SAP BW

    Finestra di dialogo Crea estrazione DI SAP BW OHD delta2

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

    Screenshot che mostra Impostazioni per l'elaborazione parallela in cui è possibile selezionare il numero di processi paralleli per 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).

    Creare un diagramma di flusso della catena di processi SAP BW

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.

Creare SAP BW OHD completo

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:

    Finestra di dialogo Crea SAP BW OHD configurata per

  • 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: