Queste istruzioni mostrano come configurare una soluzione per la replica dei dati da applicazioni SAP, come SAP S/4HANA o SAP Business Suite, in BigQuery utilizzando SAP Landscape 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 consolidare i dati dei tuoi sistemi SAP con i dati consumer di altri sistemi in BigQuery, in modo da ricavare 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 nella configurazione di SAP Base, SAP LT Replication Server, SAP DS e Google Cloud.
Architettura
SAP LT Replication Server può fungere da fornitore di dati per SAP NetWeaver Operational Data Provisioning Framework (ODP). SAP LT Replication Server riceve i dati dai sistemi SAP connessi e li archivia nel framework ODP in una coda operativa Delta (ODQ) del sistema SAP LT Replication Server. Di conseguenza, SAP LT Replication Server stesso funge anche da destinazione delle configurazioni di SAP LT Replication Server. Il framework ODP rende i dati disponibili come oggetti ODP che corrispondono alle tabelle del sistema di origine.
Il framework ODP supporta scenari di estrazione e replica per varie applicazioni SAP di destinazione, note come sottoscrittori. I sottoscrittori recuperano i dati dalla coda delta per ulteriori elaborazioni.
I dati vengono replicati non appena un abbonato 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 della Change Data Capture (CDC) di SAP Data Services 4.2 SP1 o versione successiva, che include il provisioning dei dati in tempo reale e funzionalità delta per tutte le tabelle di origine.
Il seguente diagramma spiega 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 li archivia nella coda delta operativa.
- SAP DS è abbonato alla coda delta operativa e esegue periodicamente il polling della coda per rilevare eventuali modifiche ai dati.
- SAP DS recupera i dati dalla coda delta, li trasforma per renderli compatibili con il formato BigQuery e avvia il job di caricamento che sposta i dati in BigQuery.
- I dati sono disponibili in BigQuery per l'analisi.
In questo scenario, il sistema di origine SAP, il server di replica SAP LT e SAP Data Services possono essere eseguiti all'interno o all'esterno di Google Cloud. Per ulteriori informazioni da SAP, consulta la pagina relativa al provisioning dei dati operativi in tempo reale con SAP Landscape Transformation Replication Server.
Componenti principali della soluzione
Per replicare i dati dalle applicazioni SAP a BigQuery utilizzando SAP Landscape Transformation Replication Server e SAP Data Services, sono necessari i seguenti componenti:
Componente | Versioni obbligatorie | Notes |
---|---|---|
Stack di server di applicazioni SAP | Qualsiasi sistema SAP basato su ABAP a partire da R/3 4.6C SAP_Basis (requisito minimo):
|
In questa guida, il server delle applicazioni e il server di database vengono denominati collettivamente sistema di origine, anche se sono in esecuzione su macchine diverse. Definisci l'utente RFC con l'autorizzazione appropriata Facoltativo: definisci uno spazio tabella separato per le tabelle di logging |
Sistema di database (DB) | Qualsiasi versione del database elencata come supportata nella Matrice di disponibilità dei prodotti SAP (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:
|
|
Server di replica della trasformazione del panorama SAP | SAP LT Replication Server 2.0 o versioni successive | Richiede una connessione RFC al sistema di origine. Le dimensioni del sistema SAP LT Replication Server dipendono molto dalla quantità di dati archiviati in ODQ e dai periodi di conservazione pianificati. |
SAP Data Services | SAP Data Services 4.2 SP1 o versione successiva | |
BigQuery | N/A |
Costi
BigQuery è un componente 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 di database, il server di replica SAP 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.
Configura un progetto Google Cloud in Google Cloud
Devi abilitare l'API BigQuery e, se non hai già creato un progetto Google Cloud, devi farlo anche tu.
Crea progetto Google Cloud
Vai alla console Google Cloud ed effettua la registrazione seguendo la procedura guidata di configurazione.
Accanto al logo Google Cloud nell'angolo in alto a sinistra, fai clic sul menu a discesa e seleziona Crea progetto.
Assegna un nome al progetto e fai clic su Crea.
Dopo aver creato il progetto (viene visualizzata una notifica in alto a destra), aggiorna la pagina.
Abilita API
Abilita l'API BigQuery:
Crea un account di servizio
L'account di servizio (in particolare il relativo 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.
Nella console Google Cloud, vai alla pagina Account di servizio.
Selezionare il tuo progetto Google Cloud.
Fai clic su Crea account di servizio.
Inserisci un Nome account di servizio.
Fai clic su Crea e continua.
Nell'elenco Seleziona un ruolo, scegli BigQuery > Editor dati BigQuery.
Fai clic su Aggiungi un altro ruolo.
Nell'elenco Seleziona un ruolo, scegli BigQuery > Utente job BigQuery.
Fai clic su Continua.
A seconda dei casi, concedi ad altri utenti l'accesso all'account di servizio.
Fai clic su Fine.
Nella pagina Account di servizio della console Google Cloud, fai clic sull'indirizzo email dell'account di servizio appena creato.
Sotto il nome dell'account di servizio, fai clic sulla scheda Chiavi.
Fai clic sul menu a discesa Aggiungi chiave, quindi seleziona Crea nuova chiave.
Assicurati che sia specificato il tipo di chiave JSON.
Fai clic su Crea.
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 del server di replica SAP LT
- Configurazione di SAP Data Services
- Creazione del flusso di dati tra SAP Data Services e BigQuery
Configurazione del server di replica della trasformazione della trasformazione SAP
I passaggi seguenti consentono di configurare SAP LT Replication Server in modo che agisca come provider all'interno del framework di provisioning dei dati operativi e crei una coda delta operativa. In questa configurazione, SAP LT Replication Server utilizza la replica basata su trigger per copiare i dati dal sistema SAP di origine in tabelle nella coda delta. SAP Data Services, agendo come sottoscrittore nel framework ODP, recupera i dati dalla coda delta, li trasforma e carica in BigQuery.
Configura la coda delta operativa (ODQ)
- In SAP LT Replication Server, utilizza la transazione
SM59
per creare una destinazione RFC per il sistema di applicazioni SAP che rappresenta l'origine dati. - 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. La destinazione per il trasferimento di dati tramite ODP è lo stesso server di replica SAP LT.- Per specificare l'origine, inserisci la destinazione RFC per il sistema di applicazioni SAP da utilizzare come origine dati.
- Per specificare il target:
- Inserisci NONE come connessione RFC.
- Scegli Scenario di replica OQ per la comunicazione RFC. Utilizzando questo scenario, specifica che i dati vengono trasferiti utilizzando l'infrastruttura di provisioning dei dati operativi con code delta operative.
- Assegna un alias di coda.
L'alias coda viene utilizzato in SAP Data Services per l'impostazione del contesto ODP dell'origine dati.
Configurazione di SAP Data Services
Crea un progetto di servizi dati
- Apri l'applicazione SAP Data Services Designer.
- Vai a File > Nuovo > Progetto.
- Specifica un nome nel campo Nome progetto.
- In Repository di servizi dati, seleziona il repository dei servizi dati.
- Fai clic su Fine. Il progetto viene visualizzato in Esplora progetti a sinistra.
SAP Data Services si connette ai sistemi di origine per raccogliere i metadati e quindi all'agente SAP Replication Server per recuperare la configurazione e modificare i dati.
Crea un datastore di origine
I passaggi seguenti creano una connessione a SAP LT Replication Server e aggiungono le tabelle di dati al nodo del datastore applicabile nella libreria di oggetti Designer.
Per utilizzare SAP LT Replication Server con SAP Data Services, devi connettere SAP DataServices alla coda delta operativa corretta in ODP connettendo un datastore all'infrastruttura ODP.
- Apri l'applicazione SAP Data Services Designer.
- Fai clic con il tasto destro del mouse sul nome del progetto SAP Data Services in Esplora progetti.
- Seleziona Nuovo > Datastore.
- Compila Nome datastore. Ad esempio, DS_SLT.
- Nel campo Tipo di datastore, seleziona Applicazioni SAP.
- Nel campo Nome server applicazioni, fornisci il nome istanza del server di replica SAP LT.
- Specifica le credenziali di accesso al server di replica SAP LT.
- Apri la scheda Advanced (Avanzate).
- In ODP Context, inserisci SLT~ALIAS, dove ALIAS è l'alias coda specificato in Configura la coda delta operativa (ODQ).
- Fai clic su Ok.
Il nuovo datastore viene visualizzato nella scheda Datastore della libreria oggetti locale in Designer.
Crea il datastore di destinazione
Questi passaggi creano un datastore BigQuery che utilizza l'account di servizio creato in precedenza nella sezione Creare un account di servizio. L'account di servizio consente a SAP Data Services di accedere in sicurezza a BigQuery.
Per ulteriori informazioni, consulta Ottenere l'indirizzo email del tuo account di servizio Google e Ottenere un file di chiave privata dell'account di servizio Google nella documentazione di SAP Data Services.
- Apri l'applicazione SAP Data Services Designer.
- Fai clic con il tasto destro del mouse sul nome del progetto SAP Data Services in Esplora progetti.
- Seleziona Nuovo > Datastore.
- Compila il campo Nome. Ad esempio, BQ_DS.
- Fai clic su Avanti.
- Nel campo Tipo di datastore, seleziona Google BigQuery.
- Viene visualizzata l'opzione URL del servizio web. Il software completa automaticamente l'opzione con l'URL predefinito del servizio web BigQuery.
- Seleziona Avanzate.
- Completa le opzioni avanzate in base alle descrizioni delle opzioni Datastore per BigQuery nella documentazione di SAP Data Services.
- Fai clic su Ok.
Il nuovo datastore viene visualizzato nella scheda Datastore nella libreria oggetti locale di Designer.
Importa gli oggetti ODP di origine per la replica
Questi passaggi importano oggetti ODP dal datastore di origine per i caricamenti iniziali e delta e li rendono disponibili in SAP Data Services.
- Apri l'applicazione SAP Data Services Designer.
- Espandi il datastore di origine per il carico di replica in Esplora progetti.
- Seleziona l'opzione Metadati esterni nella parte superiore del riquadro a destra. Viene visualizzato l'elenco dei nodi con tabelle e oggetti ODP disponibili.
- Fai clic sul nodo degli oggetti ODP per recuperare l'elenco degli oggetti ODP disponibili. La visualizzazione dell'elenco potrebbe richiedere molto tempo.
- Fai clic sul pulsante Cerca.
- Nella finestra di dialogo, seleziona Dati esterni nel menu Cerca in e Oggetto OODP nel menu Tipo di oggetto.
- Nella finestra di dialogo di ricerca, seleziona i criteri di ricerca per filtrare l'elenco degli oggetti ODP di origine.
- Seleziona dall'elenco l'oggetto ODP da importare.
- Fai clic con il tasto destro del mouse e seleziona l'opzione Importa.
- Compila il campo Name of Consumer (Nome del consumatore).
- Compila il campo Nome del progetto.
- Seleziona l'opzione Changed Data Capture (CDC) in Modalità di estrazione.
- Fai clic su Importa. Viene avviata l'importazione dell'oggetto ODP in Data Services. L'oggetto ODP è ora disponibile nella libreria degli oggetti sotto il nodo DS_SLT.
Per ulteriori informazioni, consulta Importazione dei metadati di origine ODP nella documentazione di SAP Data Services.
Creare un file di schema
Questi passaggi creano un flusso di dati in SAP Data Services per generare un file di schema che rifletta la struttura delle tabelle di origine. Successivamente, utilizzerai il file di schema per creare una tabella BigQuery.
Lo schema garantisce che il flusso di dati del caricatore BigQuery completi correttamente la nuova tabella BigQuery.
Crea un flusso di dati
- Apri l'applicazione SAP Data Services Designer.
- Fai clic con il tasto destro del mouse sul nome del progetto SAP Data Services in Esplora progetti.
- Seleziona Progetto > Nuovo > Flusso di dati.
- Compila il campo Nome. Ad esempio, DF_BQ.
- Fai clic su Fine.
Aggiorna la raccolta di oggetti
- Fai clic con il tasto destro del mouse sul datastore di origine per il caricamento iniziale in Project Explorer e seleziona l'opzione Aggiorna libreria oggetti. In questo modo viene aggiornato l'elenco delle tabelle di database delle origini dati che puoi utilizzare nel flusso di dati.
Crea il tuo flusso di dati
- 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.
- Nella scheda Trasformazioni della libreria di oggetti, trascina una trasformazione XML_Map dal nodo Piattaforma i nel flusso di dati e scegli l'opzione Caricamento batch quando richiesto.
- Collega tutte le tabelle di origine nell'area di lavoro alla trasformazione XML Map.
- Apri la trasformazione XML Map e completa le sezioni dello schema di input e di output in base ai dati che includi nella tabella BigQuery.
- Fai clic con il tasto destro del mouse sul nodo XML_Map nella colonna Schema Out e seleziona Genera schema Google BigQuery dal menu a discesa.
- Inserisci un nome e una posizione per lo schema.
- Fai clic su Salva.
- Fai clic con il tasto destro del mouse sul flusso di dati in Esplora progetti e seleziona Rimuovi.
SAP Data Services genera un file di schema con estensione .json.
Crea le tabelle BigQuery
Devi creare tabelle nel set di dati BigQuery su Google Cloud sia per il caricamento iniziale che per i caricamenti delta. Per creare le tabelle, puoi utilizzare 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 al set di dati di origine che si verificano dopo il caricamento iniziale. Le tabelle si basano sullo schema generato nel passaggio precedente. La tabella dei caricamenti delta include un campo timestamp aggiuntivo che identifica il tempo 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.
- Accedi al tuo progetto Google Cloud nella console Google Cloud.
- Seleziona BigQuery.
- Fai clic sul set di dati applicabile.
- Fai clic su Crea tabella.
- Inserisci un nome per la tabella. Ad esempio, BQ_INIT_LOAD.
- In Schema, attiva l'impostazione per abilitare la modalità Modifica come testo.
- Imposta lo schema della nuova tabella in BigQuery copiando e incollando i contenuti del file di schema che hai creato in Creare un file di schema.
- Fai clic su Crea tabella.
Crea una tabella BigQuery per i caricamenti delta
Questi passaggi creano una tabella per i caricamenti delta del set di dati BigQuery.
- Accedi al tuo progetto Google Cloud nella console Google Cloud.
- Seleziona BigQuery.
- Fai clic sul set di dati applicabile.
- Fai clic su Crea tabella.
- Inserisci il nome della tabella. Ad esempio, BQ_DELTA_LOAD.
- In Schema,attiva l'impostazione per abilitare la modalità Modifica come testo.
- Imposta lo schema della nuova tabella in BigQuery copiando e incollando i contenuti del file di schema che hai creato in Creare un file di schema.
Nell'elenco JSON del file di schema, subito prima della definizione 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" },
Fai clic su Crea tabella.
Configura 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.
Importa le tabelle BigQuery
Questi passaggi importano le tabelle BigQuery create nel passaggio precedente e le rendono disponibili in SAP Data Services.
- Nella libreria di oggetti di SAP Data Services Designer, apri il datastore BigQuery che hai creato in precedenza.
- Nella parte superiore del riquadro a destra, seleziona Metadati esterni. Vengono visualizzate le tabelle BigQuery che hai creato.
- Fai clic con il pulsante destro del mouse sul nome della tabella BigQuery applicabile e seleziona Importa.
- Viene avviata l'importazione della tabella selezionata in SAP Data Services. La tabella è ora disponibile nella libreria di oggetti sotto il nodo del 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. La prima esegue il caricamento iniziale dei dati dagli oggetti ODP di origine alla tabella BigQuery, mentre la seconda consente i caricamenti delta successivi.
Crea 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 del flusso di dati.
- Nel menu dell'applicazione SAP Data Services Designer, vai a Strumenti > Variabili.
- Fai clic con il pulsante destro del mouse su Variabili globali e seleziona Inserisci.
- Fai clic con il pulsante destro del mouse sulla variabile Nome e seleziona Proprietà.
- Inserisci $INITLOAD nella variabile Name.
- In Tipo di dati, seleziona Int.
- Inserisci 0 nel campo Valore.
- Fai clic su Ok.
Crea il job di replica
- Fai clic con il tasto destro del mouse sul nome del progetto in Esplora progetti.
- Seleziona Nuovo > Job batch.
- Compila il campo Nome. Ad esempio, JOB_SRS_DS_BQ_REPLICATION.
- Fai clic su Fine.
Crea la logica del flusso di dati per il caricamento iniziale
Crea un modello condizionale
- Fai clic con il tasto destro del mouse su Nome job e seleziona l'opzione Aggiungi nuovo > Condizionale.
- Fai clic con il tasto destro del mouse sull'icona condizionale e seleziona Rinomina.
Modifica il nome in InitialOrDelta.
Apri l'editor condizionale facendo doppio clic sull'icona condizionale.
Nel campo Istruzione if, inserisci $INITLOAD = 1, che imposta la condizione per eseguire il caricamento iniziale.
Fai clic con il pulsante destro del mouse nel riquadro Quindi seleziona Aggiungi nuovo > Script.
Fai clic con il tasto destro del mouse sull'icona Script e seleziona Rinomina.
Cambia il nome. Ad esempio, queste istruzioni utilizzano InitialLoadCDCMarker.
Fai doppio clic sull'icona Script per aprire l'editor delle funzioni.
Inserisci
print('Beginning Initial Load');
Inserisci
begin_initial_load();
Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per uscire dall'Editor funzioni.
Crea un flusso di dati per il caricamento iniziale
- Fai clic con il pulsante destro del mouse nel riquadro Allora e seleziona Aggiungi nuovo > Flusso di dati.
- Rinomina il flusso di dati. Ad esempio, DF_SRS_DS_InitialLoad.
- Collega InitialLoadCDCMarker con DF_SRS_DS_InitialLoad facendo clic sull'icona di output della connessione di InitialLoadCDCMarker, quindi trascinando la linea di connessione sull'icona di input di DF_SRS_DS_InitialLoad.
- 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
- 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 datastore potrebbe essere diverso.
- Trascina Trasformazione query dal nodo Piattaforma nella scheda Trasformazioni della libreria di oggetti nel flusso di dati.
Fai doppio clic sugli oggetti ODP e nella scheda Origine imposta l'opzione Caricamento iniziale su Sì.
Connetti tutti gli oggetti ODP di origine nell'area di lavoro alla trasformazione delle query.
Fai doppio clic su Trasformazione query.
Seleziona tutti i campi della tabella sotto Schema In a sinistra e trascinali in Schema Out a destra.
Per aggiungere una funzione di conversione per un campo data/ora:
- Seleziona il campo data/ora nell'elenco Schema Out a destra.
- Seleziona la scheda Mappatura sotto gli elenchi di schemi.
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.
Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare al flusso di dati.
Importa e connetti il flusso di dati con gli oggetti del datastore di destinazione
- Dal datastore nella libreria degli 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 datastore potrebbe essere diverso.
- Dal nodo Piattaforma nella scheda Trasformazioni della libreria di oggetti, trascina una trasformazione XML_Map nel flusso di dati.
- Seleziona Modalità batch nella finestra di dialogo.
- Collega la trasformazione Query alla trasformazione XML_Map.
Collega la trasformazione XML_Map alla tabella BigQuery importata.
Apri la trasformazione XML_Map e completa le sezioni dello schema di input e di output in base ai dati che includi nella tabella BigQuery.
Fai doppio clic sulla tabella BigQuery nell'area di lavoro per aprirla e completare le opzioni nella scheda Target come indicato nella seguente tabella:
Opzione | Description |
---|---|
Crea porta | Specifica No, che è l'impostazione predefinita. Se specifichi Sì, un file di origine o di destinazione diventa una porta del flusso di dati incorporato. |
Modalità | Specifica Truncate per il caricamento iniziale, che sostituisce tutti i record esistenti nella tabella BigQuery con i dati caricati da SAP Data Services. L'impostazione predefinita è Tronca. |
Numero di caricatori | 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 caricatori. Per informazioni su come determinare un numero appropriato di caricatori, consulta la documentazione di SAP, che include: |
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). |
- Fai clic sull'icona Convalida nella barra degli strumenti superiore.
- Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare all'editor condizionale.
Crea un flusso di dati per il carico delta
Devi creare un flusso di dati per replicare i record di Change Data Capture (CDC) che si accumulano dopo il caricamento iniziale.
Crea un flusso delta condizionale:
- Fai doppio clic sul condizionale InitialOrDelta.
- Fai clic con il pulsante destro del mouse sulla sezione Altro e seleziona Aggiungi nuovo > Script.
- Rinomina lo script. Ad esempio MarkIniziaCDCLoad.
- Fai doppio clic sull'icona Script per aprire l'editor delle funzioni.
Inserisci print('Inizio del carico delta')
Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare all'editor condizionale.
Crea il flusso di dati per il carico delta
- Nell'editor condizionale, fai clic con il tasto destro del mouse e seleziona Aggiungi nuovo > Flusso di dati.
- Rinomina il flusso di dati. Ad esempio, DF_SRS_DS_DeltaLoad.
- Collega MarkBeginCDCLoad con MarkBeginCDCLoad, come mostrato nel diagramma.
Fai doppio clic sul flusso di dati DF_SRS_DS_DeltaLoad.
Importa e connetti il flusso di dati con gli oggetti del datastore di origine
- 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 datastore potrebbe essere diverso.
- Dal nodo Piattaforma nella scheda Trasformazioni della libreria di oggetti, trascina la trasformazione Query nel flusso di dati.
- Fai doppio clic sugli oggetti ODP e nella scheda Origine, imposta l'opzione Caricamento iniziale su No.
- Connetti tutti gli oggetti ODP di origine nell'area di lavoro alla trasformazione Query.
- Fai doppio clic sulla trasformazione Query.
- Seleziona tutti i campi della tabella nell'elenco Schema in a sinistra e trascinali nell'elenco Schema in entrata a destra
Abilita il timestamp per i caricamenti delta
I seguenti passaggi consentono a SAP Data Services di registrare automaticamente il timestamp di ogni esecuzione di caricamento delta in un campo della tabella di caricamento delta.
- Fai clic con il tasto destro del mouse sul nodo Query nel riquadro Schema out sulla destra.
- Seleziona Nuova colonna di output.
- Inserisci DL_TIMESTAMP nel campo Nome.
- Seleziona data e ora in Tipo di dati.
- Fai clic su Ok.
- Fai clic sul campo DL_TIMESTAMP appena creato.
- Vai alla scheda Mappatura di seguito
Inserisci la seguente funzione:
- to_date(to_char(sysdate(),'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')
Importa e connetti il flusso di dati agli oggetti del datastore di destinazione
- Dal datastore nella libreria degli 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 del datastore di esempio BQ_DS. Il nome del datastore potrebbe essere diverso.
- Dal nodo Piattaforma nella scheda Trasformazioni della libreria di oggetti, trascina una trasformazione XML_Map nel flusso di dati.
- Collega la trasformazione Query alla trasformazione XML_Map.
Collega la trasformazione XML_Map alla tabella BigQuery importata.
Apri la trasformazione XML_Map e completa le sezioni dello schema di input e di output in base ai dati che includi nella tabella BigQuery.
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 | Description |
---|---|
Crea porta | Specifica No, che è l'impostazione predefinita. Se specifichi Sì, un file di origine o di destinazione diventa una porta del flusso di dati incorporato. |
Modalità | Specifica Aggiungi per i caricamenti delta, in modo da conservare 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 caricatori. In genere, i caricamenti delta richiedono un numero inferiore di caricatori rispetto al caricamento iniziale. Per informazioni su come determinare un numero appropriato di caricatori, consulta la documentazione di SAP, che include: |
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). |
- Fai clic sull'icona Convalida nella barra degli strumenti superiore.
- Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare all'editor Condizionale.
![Uno screenshot dell'editor della tabella di destinazione.](https://cloud.google.com/static/solutions/sap/docs/images/bigquery/bq-repl-from-sap-apps-target-table-editor.png?authuser=8&hl=it)
Caricamento dei dati in BigQuery
I passaggi per un caricamento iniziale e un caricamento delta sono simili. Per ciascun job, 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. Una differenza importante 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.
Esegui un caricamento iniziale
Quando esegui un caricamento iniziale, tutti i dati nel set di dati di origine vengono replicati nella tabella BigQuery di destinazione connessa al flusso di dati di caricamento iniziale. Tutti i dati nella tabella di destinazione vengono sovrascritti.
- In SAP Data Services Designer, apri Project Explorer.
- Fai clic con il tasto destro del mouse sul nome del job di replica e seleziona Esegui. Viene visualizzata una finestra di dialogo.
- 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.
- Fai clic su Ok. Il processo di caricamento si avvia e i messaggi di debug iniziano ad essere visualizzati nel log di SAP Data Services. I dati vengono caricati nella tabella creata in BigQuery per i caricamenti iniziali. Il nome della tabella di caricamento iniziale in queste istruzioni è BQ_INIT_LOAD. Il nome della tabella potrebbe essere diverso.
- Per verificare se il caricamento è stato completato, vai alla console Google Cloud e apri il set di dati BigQuery che contiene la tabella. Se i dati sono ancora in fase di caricamento, accanto al nome della tabella viene visualizzato il messaggio "Caricamento in corso".
Dopo il caricamento, i dati sono pronti per l'elaborazione in BigQuery.
Da questo momento in poi, tutte le modifiche nella tabella di origine vengono registrate nella coda delta di SAP LT Replication Server. Per caricare i dati dalla coda delta a BigQuery, esegui un job di caricamento delta.
Esecuzione di 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 di dati di caricamento delta.
- Fai clic con il tasto destro del mouse sul nome del job e seleziona Esegui.
- Fai clic su Ok. Il processo di caricamento si avvia 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.
- Per verificare se il caricamento è stato completato, vai alla console Google Cloud e apri il set di dati BigQuery che contiene la tabella. Se i dati sono ancora in fase di caricamento, accanto al nome della tabella viene visualizzato il messaggio "Caricamento in corso".
- Dopo il caricamento, i dati sono pronti per l'elaborazione in BigQuery.
Per tenere traccia delle modifiche ai dati di origine, SAP LT Replication Server registra l'ordine delle operazioni sui dati modificati nella colonna DI_SEQUENCE_NUMBER e il tipo di operazione sui dati modificati nella colonna DI_OPERATION_TYPE (D=delete, U=update, I=insert). Il server di replica SAP LT archivia i dati nelle colonne delle tabelle delle code 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 di SAP Data Services.
- Apri l'applicazione SAP Data Services Management Console.
- Fai clic su Amministratore.
- Espandi il nodo Batch nella struttura dei menu a sinistra.
- Fai clic sul nome del tuo repository SAP Data Services.
- Fai clic sulla scheda Configurazione job batch.
- Fai clic su Aggiungi pianificazione.
- Compila il campo Nome pianificazione.
- Seleziona Attivo.
- Nella sezione Seleziona l'ora pianificata per l'esecuzione dei job, specifica la frequenza dell'esecuzione del caricamento delta.
- Importante: Google Cloud limita il numero di job di caricamento 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 di BigQuery, consulta Quote e limiti nella documentazione di BigQuery.
- Espandi Variabili globali e controlla se $INITLOAD è impostato su 0.
- Fai clic su Applica.
![Uno screenshot di SAP Data Services Management Console.](https://cloud.google.com/static/solutions/sap/docs/images/bigquery/bq-repl-from-sap-apps-sds-mgmt-console.png?authuser=8&hl=it)
Passaggi successivi
Eseguire query e analizzare dati replicati in BigQuery.
Per ulteriori informazioni sull'esecuzione di query, consulta:
- Panoramica dell'esecuzione di query sui dati di BigQuery nella documentazione di BigQuery.
Per alcune idee su come consolidare i dati di caricamento iniziale e delta in BigQuery su larga scala, vedi:
- Soluzione Performing large-scale mutations in BigQuery disponibile nel blog di Google Cloud.
- Data Manipulation Language nella documentazione di BigQuery.
Esplora le architetture di riferimento, i diagrammi e le best practice su Google Cloud. Dai un'occhiata al nostro Cloud Architecture Center.