Query federate SAP DataSpa

In qualità di analista di dati, puoi eseguire query sui dati relazionali in SAP DataSfera da BigQuery utilizzando query federate.

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

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

Limitazioni

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

Prima di iniziare

Assicurati che l'amministratore di BigQuery abbia creato una connessione a SAP DataSera e condivise con te.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire query in SAP DataSphere, 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 riuscire a 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 DataSphere 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;

Visualizza uno schema della tabella SAP DataSpa

I seguenti esempi utilizzano la funzione EXTERNAL_QUERY per recuperare i metadati di 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 di esecuzione di una query federata si basa su tre fattori:

  • Il costo di calcolo dell'esecuzione della query in SAP DataSfera.
  • 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.

Gli eventuali 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 che escluda 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 pagina Prezzi.

Passaggi successivi