La pagina spiega come utilizzare Dataflow SQL e creare job Dataflow SQL.
Per creare un job SQL Dataflow, devi scrivere ed run una query SQL Dataflow.
Usa l'editor SQL di Dataflow
L'editor SQL di Dataflow è una pagina della console Google Cloud in cui puoi scrivere ed eseguire query per la creazione di job SQL Dataflow.
Per accedere all'editor SQL di Dataflow, segui questi passaggi:
Nella console Google Cloud, vai alla pagina dell'editor SQL Dataflow.
Puoi anche accedere all'editor SQL di Dataflow anche dall'interfaccia di monitoraggio di Dataflow seguendo questi passaggi:
Nella console Google Cloud, vai alla pagina Job di Dataflow.
Nel menu Dataflow, fai clic su Area di lavoro SQL.
Scrivi query SQL di Dataflow
Le query SQL di Dataflow utilizzano la sintassi delle query SQL di Dataflow. La sintassi delle query SQL di Dataflow è simile a quella SQL standard di BigQuery.
Puoi utilizzare le estensioni di flusso di Dataflow per SQL per aggregare i dati provenienti da origini Dataflow in continuo aggiornamento come Pub/Sub.
Ad esempio, la seguente query conteggia i passeggeri in un flusso Pub/Sub di corse in taxi ogni minuto:
SELECT DATETIME(tr.window_start) AS starttime, SUM(tr.passenger_count) AS pickup_count FROM TUMBLE ((SELECT * FROM pubsub.topic.`pubsub-public-data`.`taxirides-realtime`), DESCRIPTOR(event_timestamp), 'INTERVAL 1 MINUTE') AS tr WHERE tr.ride_status = "pickup" GROUP BY DATETIME(tr.window_start)
esegui le query SQL di Dataflow
Quando esegui una query SQL di Dataflow, Dataflow trasforma la query in una pipeline Apache Beam ed esegue la pipeline.
Puoi eseguire una query SQL di Dataflow utilizzando la console Google Cloud o Google Cloud CLI.
Console
Per eseguire una query SQL di Dataflow, utilizza l'editor SQL di Dataflow:
Vai alla pagina dell'editor SQL Dataflow.
Inserisci la query SQL di Dataflow nell'editor di query.
Fai clic su Crea job per aprire un riquadro di opzioni relative al job.
(Facoltativo) In Nome job, inserisci un nome univoco per il job.
Per Endpoint a livello di regione, seleziona un valore dal menu.
(Facoltativo) Fai clic su Mostra parametri facoltativi, quindi inserisci i valori per le opzioni della pipeline Dataflow fornite.
Per Destinazione, seleziona un Tipo di output, quindi inserisci i valori nei campi forniti.
(Facoltativo) Nella sezione Parametri di query SQL, aggiungi parametri e quindi inserisci i valori nei campi forniti.
Fai clic su Crea.
gcloud
Per eseguire una query SQL di Dataflow, utilizza il comando gcloud dataflow sql query
. Di seguito è riportata una query SQL di esempio che crea
gcloud dataflow sql query \ --job-name=JOB_NAME \ --region=REGION \ --bigquery-table=BIGQUERY_TABLE \ --bigquery-dataset=BIGQUERY_DATASET \ --bigquery-project=BIGQUERY_PROJECT \ 'SQL_QUERY'
Sostituisci quanto segue:
JOB_NAME
: un nome per il tuo job SQL Dataflow.REGION
: la località Dataflow in cui eseguire il deployment del job DataflowBIGQUERY_TABLE
: il nome della tabella BigQuery in cui vuoi scrivere l'outputBIGQUERY_DATASET
: l'ID del set di dati BigQuery che contiene la tabella di outputBIGQUERY_PROJECT
: l'ID del progetto Google Cloud che contiene la tabella BigQuery di outputSQL_QUERY
: la tua query SQL di Dataflow
Imposta opzioni pipeline
Puoi impostare le opzioni della pipeline Dataflow per i job SQL di Dataflow. Le opzioni della pipeline Dataflow sono parametri di esecuzione che configurano come e dove eseguire le query SQL di Dataflow.
Per impostare le opzioni della pipeline Dataflow per i job SQL di Dataflow, specifica i seguenti parametri quando esegui una query SQL di Dataflow.
Console
Parametro | Tipo | Descrizione | Valore predefinito |
---|---|---|---|
Endpoint a livello di regione | String |
La regione in cui eseguire la query. Le query SQL di Dataflow possono essere eseguite in regioni che hanno una località Dataflow. | Se non viene configurato, il valore predefinito è us-central1. |
Numero massimo di worker | int |
Il numero massimo di istanze di Compute Engine disponibili per la tua pipeline durante l'esecuzione. | Se non specificato, il servizio Dataflow determina automaticamente un numero appropriato di worker. |
Regione worker | String |
La regione Compute Engine per avviare le istanze worker per eseguire la pipeline. La regione dei worker di Compute Engine può trovarsi in una regione diversa da quella del job Dataflow. | Se non viene configurato, il valore predefinito corrisponde alla regione Dataflow specificata. |
Zona worker | String |
La zona di Compute Engine per avviare le istanze worker per eseguire la pipeline. La zona di Compute Engine può trovarsi in una regione diversa dalla regione del job di Dataflow. |
Se non viene configurato, il valore predefinito corrisponde a una zona nella regione del worker. Se la regione del worker non è impostata, il valore predefinito è una zona nella regione Dataflow specificata. |
Email dell'account di servizio | String |
L'indirizzo email dell'account di servizio worker
con cui eseguire la pipeline. L'indirizzo email deve essere nel formato
my-service-account-name@<project-id>.iam.gserviceaccount.com .
|
Se non viene configurato, i worker di Dataflow utilizzano l'account di servizio Compute Engine del progetto attuale come account di servizio worker. |
Tipo di macchina | String |
Il tipo di macchina di Compute Engine utilizzato da Dataflow all'avvio dei worker. Puoi utilizzare qualsiasi famiglia di tipo di macchina Compute Engine disponibile e tipi di macchine personalizzate. Per ottenere risultati ottimali, utilizza Tieni presente che Dataflow fattura in base al numero di vCPU e GB di memoria nei worker. La fatturazione è indipendente dalla famiglia dei tipo di macchina. |
Se non impostato, Dataflow sceglie automaticamente il tipo di macchina. |
Altri esperimenti | String |
Gli esperimenti da attivare. Un esperimento può essere un valore, come
enable_streaming_engine , o una coppia chiave-valore, come
shuffle_mode=service . Gli esperimenti devono essere inclusi in un elenco separato da virgole. |
Se non specificato, nessun esperimento è attivato. |
Configurazione dell'indirizzo IP dei worker | String |
Specifica se i worker di Dataflow utilizzano indirizzi IP pubblici. Se il valore è impostato su Se il valore è impostato su |
Se non viene configurato, il valore predefinito è Public . |
Rete | String |
La rete di Compute Engine a cui sono assegnati i worker. | Se il criterio non viene configurato, viene utilizzata per impostazione predefinita la rete default . |
Subnet | String |
La subnet di Compute Engine
a cui sono assegnati i worker. La subnet deve essere nel formato
regions/region/subnetworks/subnetwork . |
Se non viene impostato, Dataflow determina automaticamente la subnet. |
gcloud
Flag | Tipo | Descrizione | Valore predefinito |
---|---|---|---|
‑‑region |
String |
La regione in cui eseguire la query. Le query SQL di Dataflow possono essere eseguite in regioni che hanno una località Dataflow. | Se non viene configurato, genera un errore. |
‑‑max‑workers |
int |
Il numero massimo di istanze di Compute Engine disponibili per la tua pipeline durante l'esecuzione. | Se non specificato, Dataflow determina automaticamente un numero appropriato di worker. |
‑‑num‑workers |
int |
Il numero iniziale di istanze di Compute Engine da utilizzare durante l'esecuzione della pipeline. Questo parametro determina il numero di worker che Dataflow si avvia all'avvio del job. | Se non specificato, Dataflow determina automaticamente un numero appropriato di worker. |
‑‑worker‑region |
String |
La regione Compute Engine per avviare le istanze worker per eseguire la pipeline. La regione dei worker di Compute Engine può trovarsi in una regione diversa da quella del job Dataflow.
Puoi specificare un valore tra
|
Se non viene configurato, il valore predefinito corrisponde alla regione Dataflow specificata. |
‑‑worker‑zone |
String |
La zona di Compute Engine per avviare le istanze worker per eseguire la pipeline. La zona di Compute Engine può trovarsi in una regione diversa dalla regione del job di Dataflow.
Puoi specificare un valore tra
|
Se non viene configurato, il valore predefinito corrisponde a una zona nella regione Dataflow specificata. |
‑‑worker‑machine‑type |
String |
Il tipo di macchina di Compute Engine utilizzato da Dataflow all'avvio dei worker. Puoi utilizzare qualsiasi famiglia di tipo di macchina Compute Engine disponibile e tipi di macchine personalizzate. Per ottenere risultati ottimali, utilizza Tieni presente che Dataflow fattura in base al numero di vCPU e GB di memoria nei worker. La fatturazione è indipendente dalla famiglia dei tipo di macchina. |
Se non impostato, Dataflow sceglie automaticamente il tipo di macchina. |
‑‑service‑account‑email |
String |
L'indirizzo email dell'account di servizio worker
con cui eseguire la pipeline. L'indirizzo email deve essere nel formato
my-service-account-name@<project-id>.iam.gserviceaccount.com .
|
Se non viene configurato, i worker di Dataflow utilizzano l'account di servizio Compute Engine del progetto attuale come account di servizio worker. |
‑‑disable‑public‑ips |
boolean |
Specifica se i worker di Dataflow utilizzano indirizzi IP pubblici. Se impostato, i worker Dataflow utilizzano indirizzi IP privati per tutte le comunicazioni. |
Se non viene configurato, i worker Dataflow utilizzano indirizzi IP pubblici. |
‑‑network |
String |
La rete di Compute Engine a cui sono assegnati i worker. | Se il criterio non viene configurato, viene utilizzata per impostazione predefinita la rete default . |
‑‑subnetwork |
String |
La subnet di Compute Engine
a cui sono assegnati i worker. La subnet deve essere nel formato
regions/region/subnetworks/subnetwork . |
Se non viene impostato, Dataflow determina automaticamente la subnet. |
‑‑dataflow‑kms‑key |
String |
La chiave di crittografia gestita dal cliente (CMEK) utilizzata per criptare i dati at-rest. Puoi controllare la chiave di crittografia tramite Cloud KMS. La chiave deve trovarsi nella stessa posizione del job. | Se non specificato, Dataflow utilizza la crittografia Google Cloud predefinita anziché una CMEK. |
Per maggiori informazioni, consulta la documentazione di riferimento per i comandi gcloud dataflow sql query
.
Arresta i job SQL di Dataflow
Per arrestare un job SQL Dataflow, devi annullarlo.
L'arresto di un job SQL Dataflow con l'opzione drain
non è supportato.
Prezzi
Dataflow SQL utilizza i prezzi standard di Dataflow, non ha prezzi separati. Ti vengono addebitate le risorse utilizzate dai job Dataflow creati in base alle istruzioni SQL. I costi per queste risorse corrispondono agli addebiti standard di Dataflow per vCPU, memoria, Persistent Disk, Streaming Engine e Dataflow Shuffle.
Un job SQL Dataflow potrebbe utilizzare risorse aggiuntive come Pub/Sub e BigQuery, ciascuna fatturata in base ai relativi prezzi.
Per ulteriori informazioni sui prezzi di Dataflow, consulta Prezzi di Dataflow.
Passaggi successivi
- Scopri il tutorial Unione di flussi di dati con Dataflow SQL.
- Esplora Google Cloud CLI per Dataflow SQL.