Esporta i dati da sistemi SAP a Google BigQuery tramite SAP Data Services

Queste istruzioni mostrano come esportare i dati da un'applicazione SAP o dal database sottostante in BigQuery utilizzando SAP Data Services (DS).

Il database può essere SAP HANA o qualsiasi altro database supportato da SAP.

L'esempio in questa guida esporta le tabelle di database SQL Anywhere, ma puoi utilizzarle per configurare l'esportazione di altri tipi di oggetti dal livello delle applicazioni e del database SAP in BigQuery.

Puoi utilizzare l'esportazione dei dati per eseguire il backup dei dati SAP o per consolidare i dati dei tuoi sistemi SAP con i dati consumer di altri sistemi in BigQuery, dove puoi ricavare insight dal machine learning e per l'analisi dei dati su scala petabyte.

Le istruzioni sono rivolte agli amministratori di sistema SAP con esperienza di base nella configurazione di SAP Base, SAP DS e Google Cloud.

Architettura

Il flusso di replica inizia dall'applicazione o dal database SAP e passa
tramite SAP Data Services in BigQuery

SAP Data Services recupera i dati dall'applicazione SAP o dal database sottostante, li trasforma per renderli compatibili con il formato BigQuery e avvia il job di caricamento che sposta i dati in BigQuery. Una volta completato il job di caricamento, i dati sono disponibili in BigQuery per l'analisi.

L'esportazione è un'istantanea dei dati nel sistema di origine al momento dell'esportazione. Sei tu a stabilire quando SAP Data Services deve avviare un'esportazione. Tutti i dati esistenti nella tabella BigQuery di destinazione vengono sovrascritti dai dati esportati. Al termine dell'esportazione, i dati in BigQuery non vengono sincronizzati con i dati nel sistema di origine.

In questo scenario, il sistema di origine SAP e SAP Data Services possono essere eseguiti all'interno o all'esterno di Google Cloud.

Componenti principali della soluzione

Per esportare i dati da un'applicazione SAP o da un database a BigQuery utilizzando 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 In questa guida, il server delle applicazioni e il server di database vengono indicati collettivamente come sistema di origine, anche se sono in esecuzione su macchine diverse.

Definisci un 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.
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 sistema applicativo SAP, il server di database e SAP Data Services siano già installati e configurati per il normale funzionamento.

Verifica con SAP che la configurazione pianificata sia conforme ai requisiti di licenza SAP. I requisiti possono variare a seconda che i dati vengano esportati da un sistema applicativo SAP o da un database sottostante.

Configura un progetto Google Cloud in Google Cloud

Per poter utilizzare BigQuery, devi avere un progetto Google Cloud.

Creare un progetto Google Cloud

  1. Vai alla console Google Cloud ed esegui la registrazione seguendo la procedura guidata di configurazione.

    VAI A CLOUD CONSOLE

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

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

  4. Dopo aver creato il progetto (viene visualizzata una notifica in alto a destra), 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 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.

  1. Nella console Google Cloud, vai alla pagina Account di servizio.

    VAI AGLI ACCOUNT DI SERVIZIO

  2. Selezionare il tuo 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 della console Google Cloud, 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 dell'esportazione da sistemi SAP a BigQuery

La configurazione di questa soluzione include i seguenti passaggi generali:

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

Configurazione di SAP Data Services

Crea progetto di servizi dati

  1. Apri l'applicazione SAP Data Services Designer.
  2. Vai a Progetto > Nuovo > Progetto.
  3. Specifica un nome nel campo Nome progetto.
  4. Fai clic su Crea. Il progetto viene visualizzato in Esplora progetti a sinistra.

Crea un datastore di origine

Puoi utilizzare un sistema di applicazioni SAP o il suo database sottostante come datastore di origine per SAP Data Services. I tipi di oggetti di dati che puoi esportare variano a seconda che utilizzi un sistema applicativo SAP o un database come datastore.

Se utilizzi un sistema di applicazioni SAP come datastore, puoi esportare i seguenti oggetti:

  • Tables
  • Viste
  • Gerarchie
  • ODP
  • BAPI (funzioni)
  • IDocs

Il flusso di replica inizia dall'applicazione o dal database SAP e passa
tramite SAP Data Services in BigQuery

Se utilizzi un database sottostante come connessione al datastore, puoi esportare oggetti come i seguenti:

  • Tables
  • Viste
  • Stored procedure
  • Altri oggetti dati

Il flusso di replica inizia dall'applicazione o dal database SAP e passa
tramite SAP Data Services in BigQuery

Le configurazioni del datastore per i sistemi e i database applicativi SAP sono descritte nelle sezioni seguenti. Indipendentemente dal tipo di oggetto dati o connessione al datastore, la procedura per importare e utilizzare gli oggetti in un flusso di dati SAP Data Services è quasi identica.

Configurazione per la connessione a livello di applicazione SAP

Questi passaggi creano una connessione all'applicazione SAP e aggiungono gli oggetti dati al nodo del datastore applicabile nella libreria degli oggetti di Designer.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Apri il progetto SAP Data Services in Esplora progetti.
  3. Vai a Progetto > Nuovo > Datastore.
  4. Compila Nome datastore. Ad esempio, ECC_DS.
  5. Nel campo Tipo di datastore, seleziona Applicazioni SAP.
  6. Nel campo Nome server applicazioni, fornisci il nome istanza del server applicazioni SAP.
  7. Specifica le credenziali di accesso al server delle applicazioni SAP.
  8. Fai clic su Ok.

Configurazione per la connessione a livello di database SAP

SAP HANA

Questi passaggi creano una connessione al database SAP HANA e aggiungono le tabelle di dati al nodo del datastore applicabile nella libreria di oggetti Designer.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Apri il progetto SAP Data Services in Esplora progetti.
  3. Vai a Progetto > Nuovo > Datastore.
  4. Compila il campo Nome datastore, ad esempio HANA_DS.
  5. Nel campo Tipo di datastore, seleziona l'opzione Database.
  6. Nel campo Tipo di database, seleziona l'opzione SAP HANA.
  7. Nel campo Versione database, seleziona la versione del database.
  8. Compila i campi del nome del server di database, del numero di porta e delle credenziali di accesso.
  9. Fai clic su Ok.
Altri database supportati

Questi passaggi creano una connessione a SQL Anywhere e aggiungono le tabelle di dati al nodo del datastore applicabile nella libreria di oggetti di Designer.

I passaggi per la creazione della connessione ad altri database supportati sono quasi identici.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Apri il progetto SAP Data Services in Esplora progetti.
  3. Vai a Progetto > Nuovo > Datastore.
  4. Compila il campo Nome, ad esempio SQL_ANYWHERE_DS.
  5. Nel campo Tipo di datastore, seleziona l'opzione Database.
  6. Nel campo Tipo di database, seleziona l'opzione SQL Anywhere.
  7. Nel campo Versione database, seleziona la versione del database.
  8. Compila i campi Nome server database, Nome database e credenziali di accesso.
  9. Fai clic su Ok.

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

Crea un 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 gli articoli 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.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Apri il progetto SAP Data Services in Esplora progetti.
  3. Vai a Progetto > Nuovo > Datastore.
  4. Compila il campo Nome. Ad esempio, BQ_DS.
  5. Nel campo Tipo di datastore, seleziona Google BigQuery.
  6. Viene visualizzata l'opzione URL del servizio web. Il software completa automaticamente l'opzione con l'URL predefinito del servizio web BigQuery.
  7. Seleziona Avanzate.
  8. Completa le opzioni avanzate in base alle descrizioni delle opzioni Datastore per BigQuery nella documentazione di SAP Data Services.
  9. Fai clic su Ok.

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

Configura il flusso di dati tra SAP Data Services e BigQuery

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

Crea il job batch

  1. Apri l'applicazione SAP Data Services Designer.
  2. Apri il progetto SAP Data Services in Esplora progetti.
  3. Vai a Progetto > Nuovo > Job batch.
  4. Compila il campo Nome. Ad esempio, JOB_SQL_ANYWHERE_BQ.
  5. Fai clic su OK.

Crea logica del flusso di dati

Importa tabella di origine

Questi passaggi importano la tabella di database dal datastore di origine e la rendono disponibile in SAP Data Services.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Espandi il datastore di origine in Esplora progetti.
  3. Seleziona l'opzione Metadati esterni nella parte superiore del riquadro a destra. Viene visualizzato l'elenco dei nodi con tabelle disponibili e/o altri oggetti.
  4. Seleziona la tabella da importare dall'elenco.
  5. Fai clic con il tasto destro del mouse e seleziona l'opzione Importa.
  6. La tabella importata è ora disponibile nella libreria degli oggetti sotto il nodo del datastore di origine.
Crea flusso di dati
  1. Seleziona il job batch in Esplora progetti.
  2. Fai clic con il tasto destro del mouse su un'area di lavoro vuota nel riquadro a destra e seleziona l'opzione Aggiungi nuovo > Dataflow.
  3. Fai clic con il tasto destro del mouse sull'icona di Dataflow e seleziona Rinomina.
  4. Cambia il nome in DF_SQL_ANYWHERE_BQ.
  5. Apri l'area di lavoro di Dataflow facendo doppio clic sull'icona di Dataflow.

    Uno screenshot dell'icona di Dataflow.

Importa e connetti il flusso di dati con gli oggetti del datastore di origine
  1. Espandi il datastore di origine in Esplora progetti.
  2. Dal datastore, trascina la tabella di origine nell'area di lavoro del flusso di dati (scegli l'opzione Crea origine quando trascini la tabella nell'area di lavoro). In queste istruzioni, il datastore è denominato SQL_ANYWHERE_DS. Il nome del datastore potrebbe essere diverso.
  3. Trascina Trasformazione query dal nodo Piattaforma nella scheda Trasformazioni della libreria di oggetti nel flusso di dati.
  4. Collega la tabella di origine nell'area di lavoro alla trasformazione delle query.
  5. Fai doppio clic su Trasformazione query.
  6. Seleziona tutti i campi della tabella sotto Schema In a sinistra e trascinali in Schema Out a destra.

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

    Uno screenshot di SAP Data Services Designer che mostra la conversione del tipo di dati Datetime per un campo.

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

  8. Dal nodo Piattaforma nella scheda Trasformazioni della libreria di oggetti, trascina una trasformazione XML_Map nel flusso di dati.

  9. Seleziona la modalità Batch nella finestra di dialogo.

  10. Collega la trasformazione Query alla trasformazione XML_Map.

    Uno screenshot di icone che rappresentano il flusso dalla tabella di origine tramite la trasformazione Query alla mappa XML.

Creare un file di schema

Questi passaggi creano un file di schema che riflette 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.

  1. 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.
  2. 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.
  3. Inserisci un nome e una posizione per lo schema.
  4. Fai clic su Salva.

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

Uno screenshot di SAP Data Services Designer che mostra il menu a discesa per generare uno schema di Google BigQuery.

Crea la tabella BigQuery

Devi creare una tabella nel set di dati BigQuery su Google Cloud per il caricamento dei dati. Per creare la tabella, utilizzerai lo schema creato in SAP Data Services per creare la tabella.

La tabella si basa sullo schema generato nel passaggio precedente.

  1. Accedi al tuo progetto Google Cloud nella console Google Cloud.
  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_DATA_LOAD.
  6. In Schema, attiva l'impostazione per abilitare la modalità Modifica come testo.
  7. 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.
  8. Fai clic su Crea tabella.
Importa la tabella BigQuery

Questi passaggi importano la tabella BigQuery creata nel passaggio precedente e la rendono disponibile in SAP Data Services.

  1. Nella libreria di oggetti di SAP Data Services Designer, fai clic con il tasto destro del mouse sul datastore BigQuery e seleziona l'opzione Aggiorna libreria oggetti. In questo modo viene aggiornato l'elenco delle tabelle dell'origine dati che puoi utilizzare in Dataflow.
  2. Apri il datastore BigQuery.
  3. Nella parte superiore del riquadro a destra, seleziona Metadati esterni. Viene visualizzata la tabella BigQuery che hai creato.
  4. Fai clic con il pulsante destro del mouse sul nome della tabella BigQuery applicabile e seleziona Importa.
  5. 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.
Importa e connetti il flusso di dati con gli oggetti del datastore di destinazione
  1. Dal datastore nella libreria degli oggetti, trascina la tabella BigQuery importata nel flusso di dati. Il nome del datastore in queste istruzioni è BQ_DS. Il nome del datastore potrebbe essere diverso.
  2. Collega la trasformazione XML_Map alla tabella BigQuery importata.

    Uno screenshot di icone che rappresentano il flusso dalla tabella di origine tramite la mappa XML e la trasformazione di query alla tabella BigQuery.

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

  4. 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 , 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. Tronca è l'impostazione predefinita.
    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).
  5. Fai clic sull'icona Convalida nella barra degli strumenti superiore.

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

Caricamento dei dati in BigQuery

Questi passaggi avviano il job di replica ed eseguono il Dataflow in SAP Data Services per caricare i dati dal sistema di origine a BigQuery.

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

  1. In SAP Data Services Designer, apri Project Explorer.
  2. Fai clic con il tasto destro del mouse sul nome del job di replica e seleziona Esegui.
  3. Fai clic su Ok.
  4. 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 iniziali. Il nome della tabella di caricamento in queste istruzioni è BQ_DATA_LOAD. Il nome della tabella potrebbe essere diverso.
  5. 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.

Pianificazione dei caricamenti

Puoi pianificare l'esecuzione di un job di caricamento a intervalli regolari utilizzando la console di gestione di SAP Data Services.

  1. Apri l'applicazione SAP Data Services Management Console.
  2. Fai clic su Amministratore.
  3. Espandi il nodo Batch nella struttura dei menu a sinistra.
  4. Fai clic sul nome del tuo repository SAP Data Services.
  5. Fai clic sulla scheda Configurazione job batch.
  6. Fai clic su Aggiungi pianificazione.
  7. Inserisci il nome della Pianificazione.
  8. Seleziona Attivo.
  9. Nella sezione Seleziona l'ora pianificata per l'esecuzione dei job, specifica la frequenza dell'esecuzione del caricamento delta.
    1. 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.
  10. Fai clic su Applica.

    Uno screenshot della scheda Pianifica job batch nella console di gestione di SAP Data Services.

Passaggi successivi

Eseguire query e analizzare dati replicati in BigQuery. Per ulteriori informazioni sull'esecuzione di query, consulta:

Per alcune idee su come configurare una soluzione per replicare dati quasi in tempo reale dalle applicazioni SAP a BigQuery utilizzando SAP Landscape Transformation Replication Server e SAP Data Services, consulta:

Per ulteriori architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.