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

Queste istruzioni mostrano come esportare i dati da un'applicazione SAP o dal relativo database di base 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 utilizzarlo per configurare l'esportazione di altri tipi di oggetti sia dal livello di database sia dall'applicazione SAP in BigQuery.

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

Le istruzioni sono rivolte agli amministratori di sistema SAP che dispongono di competenze esperienza con la configurazione di SAP Basis, SAP DS e Google Cloud.

Architettura

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

SAP Data Services recupera i dati dall'applicazione SAP o dal database sottostante, li trasforma in modo che siano compatibili con il formato BigQuery e avvia il job di caricamento che trasferisce i dati in BigQuery. Al termine del 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 avvia 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 mantenuti sincronizzati con i dati nel sistema di origine.

In questo scenario, il sistema di origine SAP e SAP Data Services possono essere in esecuzione su Google Cloud o meno.

Componenti principali della soluzione

Per esportare i dati da un'applicazione SAP o da un database in BigQuery utilizzando SAP Data Services, sono necessari i seguenti componenti:

Componente Versioni obbligatorie Note
Stack del 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 collettivamente indicati 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 elencate nella PAM.
SAP Data Services SAP Data Services 4.2 SP1 o successivo
BigQuery N/D

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

Rivolgiti a SAP per assicurarti che la configurazione pianificata sia conforme ai requisiti di licenza SAP. I requisiti potrebbero variare a seconda che tu stia esportando i dati da un sistema di applicazioni SAP o da un database sottostante.

Configurare un progetto Google Cloud in Google Cloud

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

Crea un progetto Google Cloud

  1. Vai alla console Google Cloud e registrati, seguendo la procedura guidata di configurazione.

    VAI A CLOUD CONSOLE

  2. Accanto al logo di 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. Una volta 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 file di chiavi) viene utilizzato per autenticare SAP DS in BigQuery. Potrai utilizzare il file della chiave in un secondo momento, quando crea 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. Se necessario, 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 il tipo di chiave JSON sia specificato.

  16. Fai clic su Crea.

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

Configurazione dell'esportazione dai sistemi SAP a BigQuery

La configurazione di questa soluzione include i seguenti passaggi di alto livello:

  • 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 tuo progetto viene visualizzato in Esplora progetto a sinistra.

Crea un datastore di origine

Puoi utilizzare un sistema di applicazioni SAP o il relativo database sottostante come datastore di origine per SAP Data Services. I tipi di oggetti dati che puoi esportare sono diversi a seconda che tu stia utilizzando un sistema di applicazioni SAP o un database come data store.

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

  • Tabelle
  • Visualizzazioni
  • Gerarchie
  • ODP
  • BAPI (funzioni)
  • IDocs

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

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

  • Tabelle
  • Visualizzazioni
  • Stored procedure
  • Altri oggetti dati

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

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

Configurazione per la connessione del livello di applicazione SAP

Questi passaggi creano una connessione all'applicazione SAP e aggiungono gli oggetti dati al node del datastore applicabile nella libreria di 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. Inserisci Nome datastore. Ad esempio, ECC_DS.
  5. Nel campo Tipo di data store, seleziona Applicazioni SAP.
  6. Nel campo Nome server applicazioni, fornisci il nome istanza il server di applicazioni SAP.
  7. Specifica le credenziali di accesso al server applicazioni SAP.
  8. Fai clic su OK.

Configurazione per la connessione al livello del database SAP

SAP HANA

Questi passaggi creano una connessione al database SAP HANA e aggiungono le tabelle di dati al node del datastore applicabile nella libreria di 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 HANA_DS
  5. Nel campo Tipo di archivio dati, 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 il nome del server database, il numero di porta e le 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 del datastore applicabile nella libreria di oggetti Designer.

I passaggi per la creazione della connessione ad altri database supportati sono 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 Nome server del database, Nome database e le credenziali di accesso.
  9. Fai clic su OK.

Il nuovo datastore viene visualizzato nella scheda Datastore nell'oggetto locale di Designer libreria.

Crea un datastore di destinazione

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

Per ulteriori informazioni, consulta Ottenere l'indirizzo email dell'account di servizio Google. e Ottieni 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 data store, seleziona Google BigQuery.
  6. Viene visualizzata l'opzione URL servizio web. Il software esegue automaticamente completa l'opzione con l'URL del servizio web BigQuery predefinito.
  7. Seleziona Avanzate.
  8. Completa le opzioni avanzate in base Descrizioni delle opzioni del datastore per BigQuery nella documentazione di SAP Data Services.
  9. Fai clic su OK.

Il nuovo datastore viene visualizzato nella scheda Datastore nell'oggetto locale di Designer libreria.

Configurare il flusso di dati tra SAP Data Services e BigQuery

Per configurare il flusso di dati, devi creare il job batch, 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 rendi disponibile in SAP Data Services.

  1. Apri l'applicazione SAP Data Services Designer.
  2. Espandi il data store 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 le tabelle e/o altri oggetti disponibili.
  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 di oggetti in del datastore di origine.
Creare un flusso di dati
  1. Seleziona il job batch in Esplora progetti.
  2. Fai clic con il tasto destro del mouse nello spazio di lavoro vuoto 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. Modifica il nome in DF_SQL_ANYWHERE_BQ.
  5. Apri l'area di lavoro di Dataflow facendo doppio clic sull'icona di Dataflow.

    Icona di uno screenshot di Dataflow.

Importa e collega il flusso di dati agli oggetti del datastore di origine
  1. Espandi il datastore di origine in Explorer progetti.
  2. Dal data store, trascina la tabella di origine nello spazio di lavoro del flusso di dati (scegli l'opzione Crea origine quando trascini la tabella nello spazio di lavoro). In queste istruzioni, il datastore si chiama SQL_ANYWHERE_DS. Il nome del tuo datastore potrebbe essere diverso.
  3. Trascina Trasformazione query dal nodo Piattaforma nella scheda Trasformazioni della raccolta di oggetti sul flusso di dati.
  4. Collega la tabella di origine nell'area di lavoro alla trasformazione 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.

    • Seleziona il campo data/ora nell'elenco Schema Out (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 NOMECAMPO è il nome del campo selezionato.

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

  7. Fai clic sull'icona Indietro nella barra degli strumenti dell'applicazione per tornare allo 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 delle icone che rappresentano il flusso dalla tabella di origine tramite la trasformazione Query alla mappa XML.

Crea un file di schema

Questi passaggi creano un file di schema che riflette la struttura dell'origine tabelle. Successivamente, utilizzerai il file di schema per creare tabella.

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

  1. Apri la funzione XML Map transform e completa lo schema di input e output. in base ai dati che includi in BigQuery tabella.
  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 del file .json.

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

Crea la tabella BigQuery

Devi creare una tabella nel tuo set di dati BigQuery Google Cloud per il carico dei dati. Utilizza 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/disattiva 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 dello schema che hai creato in Creare un file dello 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 raccolta di oggetti di SAP Data Services Designer, fai clic con il tasto destro del mouse sul datastore BigQuery e seleziona l'opzione Aggiorna raccolta di oggetti. Questa operazione aggiorna l'elenco delle tabelle di origini dati che puoi utilizzare nelle 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 tasto 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 è ora disponibile nella libreria di oggetti sotto il nodo datastore di destinazione.
Importa e collega il flusso di dati agli oggetti del datastore di destinazione
  1. Dal data store nella raccolta di 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 trasformazione di query e la mappa XML alla tabella BigQuery.

  3. Apri la trasformazione XML_Map e completa lo schema di input e output in base ai dati che includi in BigQuery tabella.

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

    Opzione Descrizione
    Porta marca Specifica No, che è il valore predefinito.

    Se specifichi , un file di origine o di destinazione diventa una porta del flusso di dati incorporata.
    Modalità Specifica Tronca per il caricamento iniziale, che sostituisce qualsiasi record esistenti nella tabella BigQuery con i dati caricati di 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 SAP documentazione, tra cui:
    Record con errori massimi per caricatore Specifica 0 o un numero intero positivo per impostare il numero massimo di record che può 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 di flussi di dati.

Caricamento dei dati in BigQuery

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

Quando esegui il caricamento, tutti i dati del set di dati di origine vengono replicati nella tabella BigQuery di destinazione collegata al flusso di caricamento dei dati. 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 inizia e i messaggi di debug iniziano a essere visualizzati in SAP Log di Data Services. I dati vengono caricati nella tabella creata in BigQuery per i caricamenti iniziali. Il nome della tabella di caricamento in queste istruzioni sono BQ_DATA_LOAD. Il nome della tabella potrebbe essere diverso.
  5. Per verificare se il caricamento è stato completato, vai alla console Google Cloud apri il set di dati BigQuery contenente la tabella. Se i dati sono ancora in fase di caricamento, accanto al nome della tabella viene visualizzato il messaggio "Caricamento".

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 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 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 per l'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 programmazione 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. Fai clic su Applica.

    Uno screenshot della scheda Pianifica job batch in SAP Data Services
Console di gestione.

Passaggi successivi

Eseguire query e analizzare i dati replicati in BigQuery. Per ulteriori informazioni sulle query, consulta:

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

Per altre architetture di riferimento, diagrammi e best practice, esplora il Centro architetture cloud.