Query federate SAP DataSphere

Come analista di dati, puoi eseguire query sui dati relazionali in SAP DataSphere da BigQuery utilizzando query federate.

La federazione di BigQuery SAP Datasfera consente a BigQuery di eseguire query sui dati che risiedono in SAP DataSphere in tempo reale, senza copiare o spostare dati.

Per eseguire una query SQL in SAP DataSphere, specifica la query SQL in BigQuery in una funzione EXTERNAL_QUERY. I risultati vengono quindi trasferiti da SAP DataSphere a BigQuery.

Limitazioni

  • Puoi eseguire query solo sulle viste relazionali esposte per il consumo. Altri oggetti in SAP DataSphere non sono accessibili alla query federata tramite EXTERNAL_QUERY.
  • La connessione a SAP Datasfera può essere stabilita da qualsiasi indirizzo IP esterno appartenente a Google Cloud e tale indirizzo può cambiare nel tempo. Di conseguenza, devi aggiungere tutti gli indirizzi IP esterni di Google Cloud alla lista consentita in SAP DataSphere.
  • La latenza delle query federate potrebbe essere notevolmente superiore alla stessa query se questa fosse stata eseguita direttamente in SAP DataSphere.
  • L'esecuzione della prima query che utilizza la connessione SAP Datasfera in un determinato progetto potrebbe richiedere più di un minuto.
  • Non sono supportati ulteriori pushdown SQL per SAP DataSphere.
  • La query SQL SAP Datasfera deve specificare alias per le colonne che contengono i risultati delle funzioni.
  • Quando l'utilizzo dell'API Compute Engine nel progetto della query è limitato dai Controlli di servizio VPC, la query federata avrà esito negativo.

Prima di iniziare

Assicurati che l'amministratore BigQuery abbia creato una connessione SAP Datasfera e condivisa con te.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire query su SAP Datasfera, chiedi all'amministratore di concederti il ruolo IAM Utente connessione BigQuery (roles/bigquery.connectionUser) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Query sui dati

Per inviare una query federata a SAP DataSphere da una query GoogleSQL, utilizza la funzione EXTERNAL_QUERY.

L'esempio seguente è una query federata che unisce una tabella in SAP Datasfera denominata ORDERS e una tabella in BigQuery denominata mydataset.customers.

SELECT c.customer_id, c.name, rq.first_order_date
FROM mydataset.customers AS c
LEFT OUTER JOIN EXTERNAL_QUERY(
  'connection_id',
  '''SELECT CUSTOMER_ID, MIN(ORDER_DATE) AS first_order_date
     FROM ORDERS
     GROUP BY CUSTOMER_ID''') AS rq
  ON rq.customer_id = c.customer_id
GROUP BY c.customer_id, c.name, rq.first_order_date;

Visualizzare uno schema di tabella SAP DataSphere

I seguenti esempi utilizzano la funzione EXTERNAL_QUERY per recuperare i metadati del database dallo schema SYS in SAP Datasfera.

-- List all views in a schema.
SELECT * FROM EXTERNAL_QUERY(
  'connection_id',
  '''SELECT VIEW_NAME FROM SYS.VIEWS
     WHERE SCHEMA_NAME = 'MY_SCHEMA'''');
-- List all columns in a view.
SELECT * FROM EXTERNAL_QUERY(
  'connection_id',
  '''SELECT COLUMN_NAME, DATA_TYPE_NAME
     FROM SYS.VIEW_COLUMNS
     WHERE SCHEMA_NAME = 'MY_SCHEMA' AND
           VIEW_NAME = 'my_view'
     ORDER BY POSITION''');

Prezzi

Il costo dell'esecuzione di una query federata si basa su tre fattori:

  • Il costo di calcolo dell'esecuzione della query in SAP DataSphere.
  • Il costo della larghezza di banda per il trasferimento dei risultati delle query da SAP DataSphere a BigQuery.
  • Il costo di calcolo dell'esecuzione della query in BigQuery.

Tutti i costi relativi a SAP DataSphere dipendono dal tipo di servizio SAP utilizzato. Per limitare il costo della larghezza di banda, ti consigliamo di scrivere la query in EXTERNAL_QUERY in modo da escludere tutte le colonne e le righe non necessarie per calcolare il risultato finale.

Non sono previsti costi aggiuntivi per l'esecuzione di query federate in BigQuery. Per ulteriori informazioni sui prezzi di BigQuery, consulta la sezione Prezzi.

Passaggi successivi