Replica dei dati dalle applicazioni SAP a BigQuery tramite SAP Data Services e SAP LT Replication Server

Queste istruzioni mostrano come configurare una soluzione per la replica dei dati da applicazioni SAP, come SAP S/4HANA o SAP Business Suite, a BigQuery utilizzando SAP scape Transformation (LT) Replication Server e SAP Data Services (DS).

Puoi utilizzare la replica dei dati per eseguire il backup dei tuoi dati SAP quasi in tempo reale o per uniformare i dati dei tuoi sistemi SAP con i dati consumer di altri sistemi in BigQuery per estrarre insight dal machine learning e per l'analisi di dati su scala petabyte.

Le istruzioni sono rivolte agli amministratori di sistema SAP con esperienza di base per la configurazione di SAP Base, SAP LT Replication Server, SAP DS e Google Cloud.

Architettura

Il flusso di replica inizia all'applicazione SAP e passa attraverso SAP LT Replication Server e SAP Data Services a BigQuery

SAP LT Replication Server può operare come fornitore di dati per SAP NetWeaver Operations Data Provisioning Framework. SAP LT Replication Server riceve dati dai sistemi SAP connessi e li archivia nel framework ODP in una coda di delta operativa (ODQ) del sistema SAP LT Replication Server. Pertanto, SAP LT Replication Server funge anche da target delle configurazioni di SAP LT Replication Server. Il framework ODP rende i dati disponibili come oggetti ODP corrispondenti alle tabelle di sistema di origine.

Il framework ODP supporta scenari di estrazione e replica per varie applicazioni SAP target, note come iscritti. I sottoscrittori recuperano i dati dalla coda delta per ulteriori elaborazioni.

I dati vengono replicati non appena un sottoscrittore richiede i dati da un'origine dati tramite un contesto ODP. Diversi abbonati possono utilizzare lo stesso ODQ dell'origine.

SAP LT Replication Server sfrutta il supporto dell'acquisizione dei dati modificati (CDC) di SAP Data Services 4.2 SP1 o versioni successive, che include funzionalità di provisioning dei dati e delta in tempo reale per tutte le tabelle di origine.

Il seguente diagramma illustra il flusso di dati attraverso i sistemi:

  • Le applicazioni SAP aggiornano i dati nel sistema di origine.
  • SAP SAP LT Replication Server replica le modifiche ai dati e ne archivia i nella coda operativa delta.
  • SAP DS è un sottoscrittore della coda delta operativa e implica periodicamente la coda per le modifiche ai dati.
  • SAP DS recupera i dati dalla coda delta, li trasforma per essere compatibili con il formato BigQuery e avvia il job di caricamento che li sposta in BigQuery.
  • I dati sono disponibili in BigQuery per l'analisi.

In questo scenario, il sistema di origine SAP, SAP LT Replication Server e SAP Data Services possono essere in esecuzione all'interno o all'esterno di Google Cloud. Per ulteriori informazioni da SAP, consulta la presentazione SAP (Realtime Replication with ODP).

Le connessioni RFC vengono utilizzate tra SAP LT Replication Server e il sistema ABAP SAP e SAP Data Services.

Componenti principali della soluzione

Per replicare i dati delle applicazioni SAP in BigQuery utilizzando SAP scape Transformation Replication Server e SAP Data Services sono necessari i seguenti componenti:

Componente Versioni obbligatorie Note
Stack server applicazioni SAP Qualsiasi sistema SAP basato su ABAP che inizia con R/3 4.6C
SAP_Basis (requisito minimo):
  • 730 SP10 o SP5-9 + nota 1817467
  • 731 SP8 o SP3-7 + Nota 1817467
  • 740 SP4 o SP0-3 + nota 1817467
PI_Basis (requisito minimo):
  • 730 SP10 o SP8-9 + Nota 1848320
  • 731 SP9 o SP5-8 + nota 1848320
  • 740 SP4 o SP2-3 + nota 1848320
In questa guida, il server delle applicazioni e il database sono collettivamente indicati come sistema di origine, anche se sono in esecuzione su computer diversi.
Definisci utente RFC con l'autorizzazione appropriata
Facoltativo: definisci uno spazio di tabella separato per le tabelle di logging
Sistema di database (DB) Qualsiasi versione DB elencata come supportata in SAP Product Availability Matrix (PAM), soggetta a eventuali restrizioni dello stack SAP NetWeaver elencato in PAM. Visita la pagina service.sap.com/pam.
Sistema operativo Qualsiasi versione del sistema operativo elencata come supportata in SAP PAM, soggetta a eventuali restrizioni dello stack SAP NetWeaver elencato in PAM. Visita la pagina service.sap.com/pam.
SAP Data Migration Server (DMIS) DMIS:
  • DMIS 2011 SP6 o versioni successive
  • DMIS 2011 SP3/SP4/SP5 + Nota 1863476
  • DMIS 2010 SP8/SP9 + nota 1863476
Componente aggiuntivo DMIS:
  • Componente aggiuntivo DMIS 2011 SP6 o successivo
Server di replica per la trasformazione del paesaggio SAP SAP LT Replication Server 2.0 o versioni successive Richiede una connessione RFC al sistema di origine.
Il dimensionamento del sistema SAP LT Replication Server dipende molto dalla quantità di dati archiviati in ODQ e nei periodi di conservazione pianificati.
SAP Data Services SAP Data Services 4.2 SP1 o versioni successive
BigQuery N/D

Costi

BigQuery è un componente di Google Cloud fatturabile.

Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

Prerequisiti

Queste istruzioni presuppongono che il server applicazioni SAP, il server del database, il server di replica LAP LT e SAP Data Services siano già installati e configurati per il normale funzionamento.

Prima di poter utilizzare BigQuery, devi avere un progetto Google Cloud.

Configurare un progetto Google Cloud in Google Cloud

Devi abilitare l'API BigQuery e, se non hai ancora creato un progetto, devi farlo.

Crea progetto Google Cloud

  1. Vai a Google Cloud Console e registrati, eseguendo la procedura guidata di configurazione.

    VAI ALLA Console

  2. Accanto al logo di Google Cloud nell'angolo in alto a sinistra, fai clic sul menu a discesa e seleziona Crea progetto.

  3. Assegna un nome al progetto e fai clic su Crea.

  4. Dopo aver creato il progetto (in alto a destra viene visualizzata una notifica), aggiorna la pagina.

Abilita API

Abilita l'API BigQuery:

VAI ALL'API BigQuery

Crea un account di servizio

L'account di servizio (in particolare il file chiave) viene utilizzato per autenticare SAP DS in BigQuery. Potrai utilizzare il file della chiave in un secondo momento, quando crei il datastore di destinazione.

  1. In Google Cloud Console, vai alla pagina Account di servizio.

    Vai agli account di servizio

  2. Seleziona il progetto Google Cloud.

  3. Fai clic su Crea account di servizio.

  4. Inserisci un Nome account di servizio.

  5. Fai clic su Crea e continua.

  6. Nell'elenco Seleziona un ruolo, scegli BigQuery > Editor dati BigQuery.

  7. Fai clic su Aggiungi un altro ruolo.

  8. Nell'elenco Seleziona un ruolo, scegli BigQuery ≫ Utente job BigQuery.

  9. Fai clic su Continua.

  10. A seconda dei casi, concedi ad altri utenti l'accesso all'account di servizio.

  11. Fai clic su Fine.

  12. Nella pagina Account di servizio nella console, fai clic sull'indirizzo email dell'account di servizio appena creato.

  13. Sotto il nome dell'account di servizio, fai clic sulla scheda Chiavi.

  14. Fai clic sul menu a discesa Aggiungi chiave, quindi seleziona Crea nuova chiave.

  15. Assicurati che sia specificato il tipo di chiave JSON.

  16. Fai clic su Crea.

  17. Salva il file della chiave scaricato automaticamente in una posizione sicura.

Configurazione della replica tra applicazioni SAP e BigQuery

La configurazione di questa soluzione include i seguenti passaggi generali:

  • Configurazione di SAP LT Replication Server
  • Configurazione di SAP Data Services
  • Creazione del flusso di dati tra SAP Data Services e BigQuery

Configurazione del server di replica della trasformazione orizzontale di SAP

I passaggi seguenti consentono di configurare SAP LT Replication Server per agire come fornitore nel framework di provisioning dei dati operativi e creare una coda operativa Delta. In questa configurazione, SAP LT Replication Server utilizza la replica basata su trigger per copiare i dati dal sistema SAP di origine nelle tabelle nella coda delta. SAP Data Services, agendo come abbonato nel framework ODP, recupera i dati dalla coda delta, li trasforma e li carica in BigQuery.

Configurare la coda delta operativa (ODQ)

  1. In SAP LT Replication Server, utilizza la transazione SM59 per creare una destinazione RFC per il sistema applicativo SAP che rappresenta l'origine dati.
  2. In SAP LT Replication Server, utilizza la transazione LTRC per creare una configurazione. Nella configurazione, definisci l'origine e la destinazione del server di replica SAP LT. Il target per il trasferimento dei dati tramite ODP è lo stesso server di replica LT di SAP.
    1. Per specificare l'origine, inserisci la destinazione RFC per il sistema applicativo SAP da utilizzare come origine dati.
    2. Per specificare il target:
      1. Inserisci NONE come connessione RFC.
      2. Scegli ODQ Replication Scenario per la comunicazione RFC. Utilizzando questo scenario, specifica che i dati vengono trasferiti utilizzando l'infrastruttura di provisioning dei dati operativi con code di delta operative.
      3. Assegna un alias coda.

L'alias di coda viene utilizzato in SAP Data Services per l'impostazione del contesto ODP dell'origine dati.

Configurazione di SAP Data Services

Creare un progetto dei servizi dati

  1. Apri l'applicazione SAP Data Services Designer.
  2. Vai a File > New > Project.
  3. Specifica un nome nel campo Nome progetto.
  4. In Data Services Repository, seleziona il repository di servizi di dati.
  5. Fai clic su Finish (Fine). Il progetto viene visualizzato in Project Explorer a sinistra.

SAP Data Services si connette ai sistemi di origine per raccogliere i metadati e poi all'agente SAP Replication Server per recuperare la configurazione e modificare i dati.

Creare un datastore di origine

I passaggi seguenti consentono di creare una connessione a SAP LT Replication Server e aggiungere le tabelle di dati al nodo datastore applicabile nella libreria di oggetti di Designer.

Per utilizzare SAP LT Replication Server con SAP Data Services, devi connettere SAP DataService alla coda delta operativa corretta in ODP collegando un datastore all'infrastruttura ODP.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Fai clic con il pulsante destro del mouse sul nome del progetto SAP Data Services in Project Explorer.
  3. Seleziona New > Datastore (Nuovo > Datastore).
  4. Compila Nome datastore. ad esempio DS_SLT.
  5. Nel campo Datastore type (Tipo di datastore), seleziona SAP Applications (Applicazioni SAP).
  6. Nel campo Application server name (Nome server applicazione), fornisci il nome dell'istanza di SAP LT Replication Server.
  7. Specifica le credenziali di accesso di SAP LT Replication Server.
  8. Apri la scheda Advanced (Avanzate).
  9. In Contesto contestuali, inserisci SLT~ALIAS, dove ALIAS è l'alias di coda specificato in Configura la coda delta operativa (ODQ).
  10. Fai clic su OK.

Il nuovo datastore viene visualizzato nella scheda Datastore nella libreria di oggetti locali in Designer.

Creare il datastore di destinazione

Questi passaggi creano un datastore BigQuery che utilizza l'account di servizio creato in precedenza nella sezione Crea un account di servizio. L'account di servizio consente a SAP Data Services di accedere in modo sicuro a BigQuery.

Per ulteriori informazioni, consulta le sezioni Ottenere l'indirizzo email dell'account di servizio Google e Ottenere un file della chiave privata dell'account di servizio Google nella documentazione di SAP Data Services.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Fai clic con il pulsante destro del mouse sul nome del progetto SAP Data Services in Project Explorer.
  3. Seleziona New > Datastore (Nuovo > Datastore).
  4. Compila il campo Nome. ad esempio BQ_DS.
  5. Fai clic su Avanti.
  6. Nel campo Tipo di datastore, seleziona Google BigQuery.
  7. Viene visualizzata l'opzione URL del servizio web. Il software completa automaticamente l'opzione con l'URL del servizio web BigQuery predefinito.
  8. Seleziona Avanzate.
  9. Completa le opzioni avanzate in base alle descrizioni delle opzioni del datastore per BigQuery nella documentazione di SAP Data Services.
  10. Fai clic su OK.

Il nuovo datastore viene visualizzato nella scheda Datastore della libreria di oggetti locali di Designer.

Importa gli oggetti ODP di origine per la replica

Questi passaggi importano gli oggetti ODP dal datastore di origine per i caricamenti iniziali e delta e li rendono disponibili in SAP Data Services.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Espandi il datastore di origine per il carico di replica in Project Explorer.
  3. Seleziona l'opzione External Metadata (Metadati esterni) nella parte superiore del riquadro a destra. Viene visualizzato l'elenco dei nodi con tabelle e oggetti ODP disponibili.
  4. Fai clic sul nodo degli oggetti ODP per recuperare l'elenco degli oggetti ODP disponibili. La visualizzazione dell'elenco potrebbe richiedere molto tempo.
  5. Fai clic sul pulsante Cerca.
  6. Nella finestra di dialogo, seleziona Dati esterni nel menu Guarda in e Oggetto OPI nel menu Tipo di oggetto.
  7. Nella finestra di dialogo Cerca, seleziona i criteri di ricerca per filtrare l'elenco degli oggetti ODP di origine.
  8. Seleziona l'oggetto ODP da importare dall'elenco.
  9. Fai clic con il pulsante destro del mouse e seleziona l'opzione Importa.
  10. Inserisci il Nome del consumatore.
  11. Compila il campo Nome del progetto.
  12. Seleziona l'opzione Acquisizione dati modificati (CDC) in Modalità estrazione.
  13. Fai clic su Import (Importa). Verrà avviata l'importazione dell'oggetto ODP in Data Services. L'oggetto ODP è ora disponibile nella libreria di oggetti sotto il nodo DS_SLT.

Per ulteriori informazioni, consulta Importazione dei metadati delle origini ODP nella documentazione di SAP Data Services.

Crea un file schema

Questi passaggi creano un flusso di dati in SAP Data Services per generare un file schema che rifletta la struttura delle tabelle di origine. In seguito, potrai utilizzare il file di schema per creare una tabella BigQuery.

Lo schema garantisce che il flusso di dati del caricatore BigQuery completi la nuova tabella BigQuery.

Creare un flusso di dati
  1. Apri l'applicazione SAP Data Services Designer.
  2. Fai clic con il pulsante destro del mouse sul nome del progetto SAP Data Services in Project Explorer.
  3. Seleziona Progetto > Nuovo > flusso di dati.
  4. Compila il campo Nome. Ad esempio, DF_BQ.
  5. Fai clic su Fine.
Aggiornare la libreria di oggetti
  • Fai clic con il pulsante destro del mouse sull'archivio dati di origine per il caricamento iniziale in Project Explorer e seleziona l'opzione Refresh Object Library (Aggiorna libreria oggetti). Viene aggiornato l'elenco delle tabelle di database di origine dati che è possibile utilizzare nel flusso di dati.
Crea il tuo flusso di dati
  1. Crea il tuo flusso di dati trascinando le tabelle di origine nell'area di lavoro del flusso di dati e scegliendo Importa come origine quando richiesto.
  2. Nella scheda Trasformazioni della libreria di oggetti, trascina una trasformazione_XML_Map dal nodo Piattaforma i nel flusso di dati e scegli Caricamento in gruppo quando richiesto.
  3. Collega tutte le tabelle di origine dell'area di lavoro alla trasformazione della mappa XML.
  4. Apri XML Map Transform, e completa le sezioni relative agli schemi di input e output in base ai dati inclusi nella tabella BigQuery.
  5. Fai clic con il pulsante destro del mouse sul nodo XML_Map nella colonna Schema Out e seleziona Generate Google BigQuery Schema (Genera schema Google BigQuery) dal menu a discesa.
  6. Inserisci un nome e una posizione per lo schema.
  7. Fai clic su Salva.
  8. Fai clic con il pulsante destro del mouse sul flusso di dati in Project Explorer e seleziona Rimuovi.

SAP Data Services genera un file di schema con l'estensione del file .json.

Creare le tabelle BigQuery

Devi creare tabelle nel tuo set di dati BigQuery in Google Cloud sia per il caricamento iniziale sia per il caricamento delta. Per creare le tabelle, utilizza gli schemi creati in SAP Data Services.

La tabella per il caricamento iniziale viene utilizzata per la replica iniziale dell'intero set di dati di origine. La tabella per i caricamenti delta viene utilizzata per la replica delle modifiche nel set di dati di origine che si verificano dopo il caricamento iniziale. Le tabelle sono basate sullo schema generato nel passaggio precedente. La tabella per i caricamenti delta include un campo timestamp aggiuntivo che identifica l'ora di ogni caricamento delta.

Crea una tabella BigQuery per il caricamento iniziale

Questi passaggi creano una tabella per il caricamento iniziale nel set di dati BigQuery.

  1. Accedi al tuo progetto Google Cloud in Google Cloud Console.
  2. Seleziona BigQuery.
  3. Fai clic sul set di dati applicabile.
  4. Fai clic su Crea tabella.
  5. Inserisci un nome per la tabella. Ad esempio, BQ_INIT_LOAD.
  6. In Schema, attiva l'impostazione per attivare la modalità Modifica come testo.
  7. Imposta lo schema della nuova tabella in BigQuery copiando e incollando i contenuti del file di schema creato nella sezione Creare un file di schema.
  8. Fai clic su Crea tabella.
Creare una tabella BigQuery per i caricamenti delta

Questi passaggi creano una tabella per i caricamenti delta del set di dati BigQuery.

  1. Accedi al tuo progetto Google Cloud in Google Cloud Console.
  2. Seleziona BigQuery.
  3. Fai clic sul set di dati applicabile.
  4. Fai clic su Crea tabella.
  5. Inserisci il nome della tabella. Ad esempio, BQ_DELTA_LOAD.
  6. In Schema, attiva o disattiva l'impostazione Modifica come testo.
  7. Imposta lo schema della nuova tabella in BigQuery copiando e incollando i contenuti del file di schema creato nella sezione Creare un file di schema.
  8. Nell'elenco JSON del file di schema, subito prima della definizione del campo del campo DI_SEQUENCE_NUMBER, aggiungi la seguente definizione del campo DL_TIMESTAMP. Questo campo memorizza il timestamp di ogni esecuzione del caricamento delta:

    {
       "name": "DL_TIMESTAMP",
       "type": "TIMESTAMP",
       "mode": "REQUIRED",
       "description": "Delta load timestamp"
     },
  9. Fai clic su Crea tabella.

Configurare il flusso di dati tra SAP Data Services e BigQuery

Per configurare il flusso di dati, devi importare le tabelle BigQuery in SAP Data Services come metadati esterni e creare il job di replica e il flusso di dati del caricatore BigQuery.

Importare le tabelle BigQuery

Questi passaggi importano le tabelle BigQuery create nel passaggio precedente e rendile disponibili in SAP Data Services.

  1. Nella libreria oggetti di SAP Data Services Designer, apri il datastore BigQuery creato in precedenza.
  2. Nella parte superiore del riquadro a destra, seleziona Metadati esterni. Vengono visualizzate le tabelle BigQuery che hai creato.
  3. Fai clic con il pulsante destro del mouse sul nome della tabella BigQuery applicabile e seleziona Importa.
  4. Viene avviata l'importazione della tabella selezionata in SAP Data Services. La tabella è ora disponibile nella libreria degli oggetti sotto il nodo datastore di destinazione.

Crea un job di replica e il flusso di dati del caricatore BigQuery

Questi passaggi creano un job di replica e il flusso di dati in SAP Data Services utilizzato per caricare i dati da SAP LT Replication Server alla tabella BigQuery.

Il flusso di dati è costituito da due parti. Il primo esegue il caricamento iniziale dei dati dagli oggetti ODP di origine nella tabella BigQuery e il secondo consente i caricamenti delta successivi.

Creare una variabile globale

Affinché il job di replica possa determinare se eseguire un caricamento iniziale o un caricamento delta, devi creare una variabile globale per monitorare il tipo di carico nella logica di flusso dei dati.

  1. Nel menu dell'applicazione SAP Data Services Designer, vai a Strumenti > Variabili.
  2. Fai clic con il pulsante destro del mouse su Variabili globali e seleziona Inserisci.
  3. Fai clic con il pulsante destro del mouse sulla variabile Nome e seleziona Proprietà.
  4. Inserisci $INITLOAD nella variabile Name.
  5. In Tipo di dati, seleziona Int.
  6. Inserisci 0 nel campo Valore.
  7. Fai clic su OK.
Crea il job di replica
  1. Fai clic con il pulsante destro del mouse sul nome del progetto in Project Explorer.
  2. Seleziona New > Batch Job.
  3. Compila il campo Nome. Ad esempio, JOB_SRS_DS_BQ_REPLICATION.
  4. Fai clic su Finish (Fine).
Crea logica di flusso di dati per il caricamento iniziale
Creare un valore condizionale
  1. Fai clic con il pulsante destro del mouse su Nome job e seleziona l'opzione Aggiungi nuovo > Condizionale.
  2. Fai clic con il pulsante destro del mouse sull'icona condizionale e seleziona Rinomina.
  3. Cambia il nome in InitialOrDelta.

    Acquisizione dello schermo di un'icona condizionale con l'etichetta "InizialeOrDelta".

  4. Apri l'editor condizionale facendo doppio clic sull'icona condizionale.

  5. Nel campo Dichiarazione, inserisci $INITLOAD = 1 per impostare la condizione di esecuzione del caricamento iniziale.

  6. Fai clic con il pulsante destro del mouse nel riquadro Successivamente e seleziona Aggiungi nuovo > Script.

  7. Fai clic con il pulsante destro del mouse sull'icona Script e seleziona Rinomina.

  8. Cambiare il nome. Ad esempio, queste istruzioni utilizzano InitialLoadCDCMarker.

  9. Fai doppio clic sull'icona Script per aprire l'editor delle funzioni.

  10. Inserisci print('Beginning Initial Load');

  11. Inserisci begin_initial_load();

    Uno screenshot dell'Editor di funzione con le istruzioni inserite

  12. Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per uscire dall'Editor di funzioni.

Crea un flusso di dati per il caricamento iniziale
  1. Fai clic con il pulsante destro del mouse nel riquadro Successivamente e seleziona Aggiungi nuovo > Flusso di dati.
  2. Rinomina il flusso di dati. Ad esempio, DF_SRS_DS_InitialLoad.
  3. Collega InitialLoadCDCMarker a DF_SRS_DS_InitialLoad facendo clic sull'icona di output di connessione di InitialLoadCDCMarker e quindi trascinando la linea di connessione sull'icona di input di DF_SRS_DS_InitialLoad.
  4. Fai doppio clic sul flusso di dati DF_SRS_DS_InitialLoad.
Importa e connetti il flusso di dati con gli oggetti del datastore di origine
  1. Dal datastore, trascina gli oggetti ODP di origine nell'area di lavoro del flusso di dati. In queste istruzioni, il datastore è denominato DS_SLT. Il nome del tuo datastore potrebbe essere diverso.
  2. Trascina Query transform dal nodo Platform nella scheda Transforms della raccolta di oggetti nel flusso di dati.
  3. Fai doppio clic sugli oggetti ODP e, nella scheda Origine, imposta l'opzione Caricamento iniziale su .

    Acquisizione della schermata della finestra di SAP Data Services Designer con lo schema Out.
  4. Connetti tutti gli oggetti ODP di origine nell'area di lavoro alla trasformazione di query.

  5. Fai doppio clic su Trasformazione query.

  6. Seleziona tutti i campi della tabella in Schema In a sinistra e trascinali in Schema Out a destra.

    Per aggiungere una funzione di conversione per un campo data/ora:

    1. Seleziona il campo Timestamp nell'elenco Schema Out a destra.
    2. Seleziona la scheda Mappatura sotto gli elenchi di schemi.
    3. Sostituisci il nome del campo con la seguente funzione:

      to_date(to_char(FIELDNAME,'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')
      

      Dove FIELDNAME è il nome del campo selezionato.

    Uno screenshot che mostra la sostituzione del campo Data nella scheda di mappatura dello schema.
  7. Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare al flusso di dati.

Importa e collega il flusso di dati con gli oggetti del datastore di destinazione
  1. Dal datastore nella libreria di oggetti, trascina la tabella BigQuery importata per il caricamento iniziale nel flusso di dati. Il nome del datastore in queste istruzioni è BQ_DS. Il nome del tuo datastore potrebbe essere diverso.
  2. Dal nodo Platform nella scheda Transforms della libreria di oggetti, trascina una trasformazione XML_Map nel flusso di dati.
  3. Seleziona Modalità batch nella finestra di dialogo.
  4. Collega la trasformazione Query alla trasformazione XML_Map.
  5. Collega la trasformazione XML_Map alla tabella BigQuery importata.

    Un'acquisizione di schermata del flusso di caricamento iniziale da Schema Out, attraverso le trasformazioni Query e XML_Map, alla tabella BigQuery.

  6. Apri la sezione Transform XML_Map e completa le sezioni dello schema di input e di output in base ai dati inclusi nella tabella BigQuery.

  7. Fai doppio clic sulla tabella BigQuery nell'area di lavoro per aprirla e completare le opzioni nella scheda Target, come indicato nella tabella seguente:

Opzione Descrizione
Crea porta Specifica No, che è l'impostazione predefinita.

Se specifichi , un file di origine o di destinazione diventa una porta di flusso di dati incorporata.
Modalità Specifica Tronca per il caricamento iniziale, che sostituisce gli eventuali record esistenti nella tabella BigQuery con i dati caricati da SAP Data Services. Tronca è l'impostazione predefinita.
Numero di strumenti di caricamento Specifica un numero intero positivo per impostare il numero di caricatori (thread) da utilizzare per l'elaborazione. Il valore predefinito è 4.
Ogni caricatore avvia un job di caricamento ripristinabile in BigQuery. Puoi specificare un numero qualsiasi di strumenti di caricamento.
Per assistenza su come determinare un numero appropriato di caricatori, consulta la documentazione SAP, tra cui:
Numero massimo di record non caricati per caricatore Specifica 0 o un numero intero positivo per impostare il numero massimo di record che possono non riuscire per job di caricamento prima che BigQuery interrompa il caricamento dei record. Il valore predefinito è zero (0).
  1. Fai clic sull'icona Convalida nella barra degli strumenti in alto.
  2. Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare all'editor condizionale.
Crea un flusso di dati per il caricamento delta

Devi creare un flusso di dati per replicare i record di acquisizione dati modificati che si accumulano dopo il caricamento iniziale.

Creare un flusso delta condizionale:
  1. Fai doppio clic sulla condizione InitialOrDelta.
  2. Fai clic con il pulsante destro del mouse nella sezione Else (Altro) e seleziona Add New (Aggiungi nuovo) > Script.
  3. Rinomina lo script. Ad esempio, MarkbeginCDCLoad.
  4. Fai doppio clic sull'icona Script per aprire l'editor di funzioni.
  5. Inserisci stampa('Starting Delta Load&#39);

    Acquisizione dello schermo dell'Editor di funzioni con la dichiarazione di stampa inserita.

  6. Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare all'editor condizionale.

Crea il flusso di dati per il caricamento delta
  1. Nell'editor condizionale, fai clic con il pulsante destro del mouse e seleziona Aggiungi nuovo > Flusso di dati.
  2. Rinomina flusso di dati. Ad esempio, DF_SRS_DS_DeltaLoad.
  3. Collega MarkbeginCDCLoad a DF_SRS_DS_DeltaLoad, come mostrato in il diagramma.
  4. Fai doppio clic sul flusso di dati DF_SRS_DS_DeltaLoad.

    Uno screenshot che mostra il costrutto if-then-else per la variabile globale, il flusso di caricamento iniziale e il flusso di caricamento delta.
Importa e connetti il flusso di dati con gli oggetti del datastore di origine
  1. Trascina gli oggetti ODP di origine dal datastore nell'area di lavoro del flusso di dati. Il datastore in queste istruzioni utilizza il nome DS_SLT. Il nome del tuo datastore potrebbe essere diverso.
  2. Dal nodo Platform nella scheda Transforms della libreria di oggetti, trascina la trasformazione Query nel flusso di dati.
  3. Fai doppio clic sugli oggetti ODP e, nella scheda Origine, imposta l'opzione Caricamento iniziale su No.
  4. Connetti tutti gli oggetti ODP di origine nell'area di lavoro alla trasformazione di Query.
  5. Fai doppio clic su Trasformazione query.
  6. Seleziona tutti i campi della tabella nell'elenco Schema In (A sinistra) a sinistra e trascinali nell'elenco Schema Out a destra.
Attiva il timestamp per i caricamenti delta

I passaggi seguenti consentono a SAP Data Services di registrare automaticamente il timestamp di ogni esecuzione del caricamento delta in un campo nella tabella di caricamento delta.

  1. Fai clic con il pulsante destro del mouse sul nodo Query nel riquadro Schema out sulla destra.
  2. Seleziona Nuova colonna di output.
  3. Inserisci DL_TIMESTAMP in Nome.
  4. Seleziona data e ora in Tipo di dati.
  5. Fai clic su OK.
  6. Fai clic sul campo DL_TIMESTAMP appena creato.
  7. Vai alla scheda Mappatura di seguito
  8. Inserisci la seguente funzione:

    • to_date(to_char(sysdate(),'aaaa-mm-gg hh24:mi:ss'), 'aaaa-mm-gg hh24:mi:ss')
    Uno screenshot che mostra la definizione del campo relativo al timestamp di caricamento delta nella scheda di mappatura per gli schemi di caricamento delta.
Importa e collega il flusso di dati agli oggetti del datastore di destinazione
  1. Dal datastore nella libreria di oggetti, trascina la tabella BigQuery importata per il caricamento delta nell'area di lavoro del flusso di dati dopo la trasformazione XML_Map. Queste istruzioni utilizzano il nome di esempio del datastore BQ_DS. Il nome del tuo datastore potrebbe essere diverso.
  2. Dal nodo Platform nella scheda Transforms della libreria di oggetti, trascina una trasformazione XML_Map nel flusso di dati.
  3. Collega la trasformazione Query alla trasformazione XML_Map.
  4. Collega la trasformazione XML_Map alla tabella BigQuery importata.

    Un'acquisizione di schermata del flusso di caricamento delta da Schema Out, tramite trasformazioni Query
e XML_Map, alla tabella BigQuery.

  5. Apri la sezione Transform XML_Map e completa le sezioni dello schema di input e di output in base ai dati inclusi nella tabella BigQuery.

    Uno screenshot della finestra Editor trasformazione che mostra sia gli schemi di entrata che di uscita.
  6. Fai doppio clic sulla tabella BigQuery nell'area di lavoro per aprirla e completare le opzioni nella scheda Target in base alle seguenti descrizioni:

Opzione Descrizione
Crea porta Specifica No, che è l'impostazione predefinita.

Specificando , i file di origine o di destinazione diventano una porta di flusso di dati incorporata.
Modalità Specifica Aggiungi per i caricamenti delta, che conserva i record esistenti nella tabella BigQuery quando vengono caricati nuovi record da SAP Data Services.
Numero di caricatori Specifica un numero intero positivo per impostare il numero di caricatori (thread) da utilizzare per l'elaborazione.

Ogni caricatore avvia un job di caricamento ripristinabile in BigQuery. Puoi specificare un numero qualsiasi di strumenti di caricamento. In genere, i caricamenti delta richiedono meno caricatori rispetto al caricamento iniziale.

Per informazioni su come determinare un numero appropriato di caricatori, consulta la documentazione SAP, tra cui:

Numero massimo di record non riusciti per caricatore Specifica 0 o un numero intero positivo per impostare il numero massimo di record che possono non riuscire per job di caricamento prima che BigQuery interrompa il caricamento dei record. Il valore predefinito è zero (0).
  1. Fai clic sull'icona Convalida nella barra degli strumenti in alto.
  2. Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare all'editor condizionale.
Acquisizione dello schermo dell'Editor delle tabelle di destinazione.

Caricamento dei dati in BigQuery

I passaggi per un caricamento iniziale e un caricamento delta sono simili. Per ciascuno, avvii il job di replica ed esegui il flusso di dati in SAP Data Services per caricare i dati da SAP LT Replication Server a BigQuery. Un'importante differenza tra le due procedure di caricamento è il valore della variabile globale $INITLOAD. Per un caricamento iniziale, $INITLOAD deve essere impostato su 1. Per un caricamento delta, $INITLOAD deve essere 0.

Eseguire un caricamento iniziale

Quando esegui un caricamento iniziale, tutti i dati nel set di dati di origine vengono replicati nella tabella BigQuery di destinazione collegata al flusso di dati del caricamento iniziale. Tutti i dati nella tabella di destinazione vengono sovrascritti.

  1. In SAP Data Services Designer, apri Project Explorer.
  2. Fai clic con il pulsante destro del mouse sul nome del job di replica e seleziona Esegui. Viene visualizzata una finestra di dialogo.
  3. Nella finestra di dialogo, vai alla scheda Variabile globale e modifica il valore di $INITLOAD in 1, in modo che il caricamento iniziale venga eseguito per primo.
  4. Fai clic su OK. Il processo di caricamento inizia e i messaggi di debug iniziano a essere visualizzati nel log di SAP Data Services. I dati vengono caricati nella tabella creata in BigQuery per il caricamento iniziale. Il nome della tabella di caricamento iniziale in queste istruzioni è BQ_INIT_LOAD. Il nome della tabella potrebbe essere diverso.
  5. Per verificare se il caricamento è completo, vai a Google Cloud Console e apri il set di dati BigQuery contenente la tabella. Se il caricamento dei dati è ancora in corso, accanto al nome della tabella viene visualizzata la dicitura "Caricamento".

Dopo il caricamento, i dati sono pronti per essere elaborati in BigQuery.

Da questo momento in poi, tutte le modifiche alla tabella di origine vengono registrate nella coda delta di SAP LT Replication Server. Per caricare i dati dalla coda delta in BigQuery, esegui un job di caricamento delta.

Eseguire un caricamento delta

Quando esegui un caricamento delta, solo le modifiche che si sono verificate nel set di dati di origine dall'ultimo caricamento vengono replicate nella tabella BigQuery di destinazione collegata al flusso dei dati di caricamento delta.

  1. Fai clic con il pulsante destro del mouse sul nome del job e seleziona Esegui.
  2. Fai clic su OK. Il processo di caricamento inizia e i messaggi di debug iniziano a essere visualizzati nel log di SAP Data Services. I dati vengono caricati nella tabella creata in BigQuery per i caricamenti delta. In queste istruzioni, il nome della tabella di caricamento delta è BQ_DELTA_LOAD. Il nome della tabella potrebbe essere diverso.
  3. Per verificare se il caricamento è completo, vai a Google Cloud Console e apri il set di dati BigQuery contenente la tabella. Se il caricamento dei dati è ancora in corso, accanto al nome della tabella viene visualizzata la dicitura "Caricamento".
  4. Dopo il caricamento, i dati sono pronti per essere elaborati in BigQuery.

Per tenere traccia delle modifiche ai dati di origine, SAP LT Replication Server registra l'ordine delle operazioni con dati modificati nella colonna DI_SEQUENCE_NUMBER e il tipo di operazione con dati modificati nella colonna DI_OPERATION_TYPE (D=delete, U=update, I=insert). SAP LT Replication Server archivia i dati nelle colonne delle tabelle della coda delta, da cui vengono replicati in BigQuery.

Pianificazione dei caricamenti delta

Puoi pianificare l'esecuzione di un job di caricamento delta a intervalli regolari, utilizzando la Console di gestione dei servizi dati SAP.

  1. Apri l'applicazione SAP Data Services Management Console.
  2. Fai clic su Amministratore.
  3. Espandi il nodo Batch nella struttura ad albero del menu a sinistra.
  4. Fai clic sul nome del tuo repository di SAP Data Services.
  5. Fai clic sulla scheda Configurazione job batch.
  6. Fai clic su Aggiungi pianificazione.
  7. Inserisci Nome pianificazione.
  8. Seleziona Attivo.
  9. Nella sezione Seleziona il tempo programmato per l'esecuzione dei job, specifica la frequenza di esecuzione del delta.
    1. Importante: Google Cloud limita il numero di carichi di carico di BigQuery che puoi eseguire in un giorno. Assicurati che la pianificazione non superi il limite, che non può essere aumentato. Per ulteriori informazioni sul limite per i job di caricamento BigQuery, consulta Quote e limiti nella documentazione di BigQuery.
  10. Espandi Variabili globali e controlla se $INITLOAD è impostato su 0.
  11. Fai clic su Applica.
Uno screenshot della console di gestione di SAP Data Services.

Passaggi successivi

Eseguire query e analizzare dati replicati in BigQuery.

Per ulteriori informazioni sull'esecuzione di query, vedi:

Per alcune idee su come consolidare i dati di caricamento iniziale e delta in BigQuery su larga scala, consulta:

Esplora architetture di riferimento, diagrammi, tutorial e best practice su Google Cloud. Dai un'occhiata al nostro Cloud Architecture Center.