Esportare i dati dai 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 dei tuoi sistemi SAP con i dati dei consumatori di altri sistemi in BigQuery, dove puoi ricavare informazioni dal machine learning e per l'analisi dei dati su larga scala in termini di petabyte.

Le istruzioni sono destinate agli amministratori di sistema SAP che hanno un'esperienza di base 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 sincronizzati con i dati del 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 richieste 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 l'utente RFC con l'autorizzazione appropriata

Facoltativo: definisci uno spazio tabella separato per le tabelle di log
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 versioni successive
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

Prima di 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. 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 di chiavi) viene utilizzato per autenticare SAP DS in BigQuery. Utilizzerai il file della chiave in un secondo momento quando crei il data store di destinazione.

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

    VAI AD 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 opportuno, 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 un luogo sicuro.

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 un 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 relativo database di base 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 tramite SAP Data Services a BigQuery

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

  • Tabelle
  • Visualizzazioni
  • Stored procedure
  • Altri oggetti di 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 dell'istanza del server 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 es. 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 del 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 node del datastore applicabile nella raccolta 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 Nome, ad esempio SQL_ANYWHERE_DS.
  5. Nel campo Tipo di archivio dati, seleziona l'opzione Database.
  6. Nel campo Tipo di database, seleziona l'opzione SQL Anywhere.
  7. Nel campo Versione del 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 data store viene visualizzato nella scheda Datastore della libreria di oggetti locali di Designer.

Crea un datastore di destinazione

Questi passaggi creano un archivio dati BigQuery che utilizza l'account di servizio che hai 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 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. 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 completa automaticamente l'opzione con l'URL del servizio web BigQuery predefinito.
  7. Seleziona Avanzate.
  8. Completa le opzioni avanzate in base alle descrizioni delle opzioni del data store per BigQuery nella documentazione di SAP Data Services.
  9. Fai clic su OK.

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

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 la logica del flusso di dati

Tabella di origine dell'importazione

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 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 raccolta di oggetti nel nodo 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 nell'area di lavoro vuota del riquadro a destra e seleziona l'opzione Aggiungi nuovo > Dataflow.
  3. Fai clic con il tasto destro del mouse sull'icona del flusso di dati 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.

    Uno screenshot dell'icona del flusso di dati.

Importa e collega il flusso di dati agli oggetti del datastore di origine
  1. Espandi il data store di origine in Esplora 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 è denominato 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 nello spazio di lavoro alla trasformazione Query.
  5. Fai doppio clic su Trasforma 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 a Dataflow Editor.

  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.

Creare un file di schema

Questi passaggi creano un file di schema che riflette la struttura delle tabelle di origine. In un secondo momento, utilizzerai il file dello 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 mappa XML e completa le sezioni dello schema di input e 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 Google BigQuery.

Crea la tabella BigQuery

Per il caricamento dei dati, devi creare una tabella nel set di dati BigQuery su Google Cloud. Utilizza lo schema che hai 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 attivare 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. In questo modo viene aggiornato l'elenco delle tabelle delle origini dati che puoi utilizzare nel flusso di dati.
  2. Apri il data store 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 tabella è ora disponibile nella raccolta di oggetti nel nodo del datastore di destinazione.
Importa e collega il flusso di dati agli oggetti del datastore di destinazione
  1. Dal datastore 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 tuo 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 le sezioni dello schema di input e output in base ai dati che includi nella tabella BigQuery.

  4. Fai doppio clic sulla tabella BigQuery nello spazio di lavoro per aprirla e completare le opzioni nella scheda Destinazione come indicato nella tabella seguente:

    Opzione Descrizione
    Crea porta 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 Truncate per il caricamento iniziale, che sostituisce tutti i record esistenti nella tabella BigQuery con i dati caricati da SAP Data Services. Truncate è 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 riavviabile in BigQuery. Puoi specificare un numero qualsiasi di caricatori.
    Per determinare il numero appropriato di caricatori, consulta la documentazione di SAP, tra cui:
    Numero massimo di record con errori per caricatore Specifica 0 o un numero intero positivo per impostare il numero massimo di record che possono avere errori 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 in alto.

  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 Services per caricare i dati dal sistema di origine in 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. Eventuali 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. Viene avviato il processo di caricamento e nel log di SAP Data Services iniziano a essere visualizzati i messaggi di debug. I dati vengono caricati nella tabella che hai creato 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 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 di 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 SAP Data Services.

Passaggi successivi

Esegui query e analizza 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, visita il Centro architetture di Google Cloud.