Introduzione alle query continue
Questo documento descrive le query continue di BigQuery.
Le query continue di BigQuery sono istruzioni SQL eseguite ininterrottamente. Le query continue ti consentono di analizzare i dati in arrivo in BigQuery in tempo reale. Puoi inserire le righe di output prodotte da una query continua in una tabella BigQuery o esportarle in Pub/Sub o Bigtable. Le query continue possono elaborare i dati scritti nelle tabelle BigQuery standard utilizzando uno dei seguenti metodi:
- L'API BigQuery Storage Write
- Il metodo
tabledata.insertAll
- Caricamento in batch
- L'istruzione DML
INSERT
Puoi utilizzare le query continue per eseguire attività sensibili al tempo, ad esempio creare e agire immediatamente in base agli approfondimenti, applicare l'inferenza di machine learning (ML) in tempo reale e replicare i dati in altre piattaforme. In questo modo puoi utilizzare BigQuery come motore di elaborazione dei dati basato sugli eventi per la logica decisionale della tua applicazione.
Il seguente diagramma mostra i flussi di lavoro comuni per le query continue:
Casi d'uso
Di seguito sono riportati alcuni casi d'uso comuni in cui potresti voler utilizzare le query continue:
- Servizi di interazione personalizzata con i clienti: utilizza l'AI generativa per creare messaggi personalizzati per ogni interazione con i clienti.
- Rilevamento di anomalie: crea soluzioni che ti consentano di eseguire il rilevamento di anomalie e minacce su dati complessi in tempo reale, in modo da poter reagire più rapidamente ai problemi.
- Pipeline basate su eventi personalizzabili: utilizza l'integrazione di query continua con Pub/Sub per attivare applicazioni downstream in base ai dati in entrata.
- Arricchimento dei dati ed estrazione delle entità: utilizza query continue per eseguire la trasformazione e l'arricchimento dei dati in tempo reale utilizzando funzioni SQL e modelli di machine learning.
- Estrazione, trasformazione e caricamento (ETL) inversi: esegui l'ETL inversa in tempo reale in altri sistemi di archiviazione più adatti per la pubblicazione di applicazioni a bassa latenza. Ad esempio, analizzare o migliorare i dati degli eventi scritti in BigQuery e poi trasmetterli in streaming a Bigtable per la pubblicazione delle applicazioni.
Operazioni supportate
Le seguenti operazioni sono supportate nelle query continue:
- Esecuzione di istruzioni
INSERT
per scrivere i dati di una query continua in una tabella BigQuery. Esecuzione di istruzioni
EXPORT DATA
per pubblicare l'output della query continua negli argomenti Pub/Sub. Per maggiori informazioni, consulta Esportare dati in Pub/Sub.Da un argomento Pub/Sub, puoi utilizzare i dati con altri servizi, ad esempio eseguire l'analisi dei flussi di dati utilizzando Dataflow o utilizzare i dati in un flusso di lavoro di integrazione delle applicazioni.
Esecuzione di istruzioni
EXPORT DATA
per esportare i dati da BigQuery alle tabelle Bigtable. Per ulteriori informazioni, vedi Esportare dati in Bigtable.Chiamata della seguente funzione di AI generativa:
Questa funzione richiede un modello remoto BigQuery ML su un modello Vertex AI.
Chiamata delle seguenti funzioni di AI:
Queste funzioni richiedono un modello remoto BigQuery ML tramite un'API Cloud AI.
Normalizzare i dati numerici utilizzando la funzione
ML.NORMALIZER
.Utilizzo di funzioni GoogleSQL stateless, ad esempio funzioni di conversione. Nelle funzioni stateless, ogni riga viene elaborata indipendentemente dalle altre righe della tabella.
Utilizzando la funzione di cronologia delle modifiche
APPENDS
per avviare l'elaborazione continua delle query da un momento specifico.
Autorizzazione
I token di accessoGoogle Cloud utilizzati durante l'esecuzione dei job di query continua hanno una durata (TTL) di due giorni quando vengono generati da un account utente. Pertanto, questi job smettono di essere eseguiti dopo due giorni. I token di accesso generati dagli account di servizio possono essere eseguiti più a lungo, ma devono comunque rispettare il runtime massimo della query. Per ulteriori informazioni, vedi Eseguire una query continua utilizzando un service account.
Località
Le query continue sono supportate nelle seguenti località:
Descrizione della regione | Nome regione | Dettagli | |
---|---|---|---|
Americhe | |||
Iowa | us-central1 |
|
|
Montréal | northamerica-northeast1 |
|
|
Virginia del Nord | us-east4 |
||
Oregon | us-west1 |
|
|
Salt Lake City | us-west3 |
||
San Paolo | southamerica-east1 |
|
|
Carolina del Sud | us-east1 |
||
Stati Uniti (multiregionale) | us |
||
Asia Pacifico | |||
Delhi | asia-south2 |
||
Hong Kong | asia-east2 |
||
Giacarta | asia-southeast2 |
||
Mumbai | asia-south1 |
||
Seul | asia-northeast3 |
||
Singapore | asia-southeast1 |
||
Sydney | australia-southeast1 |
||
Taiwan | asia-east1 |
||
Tokyo | asia-northeast1 |
||
Europa | |||
Belgio | europe-west1 |
|
|
Multiregione UE | eu |
||
Francoforte | europe-west3 |
|
|
Londra | europe-west2 |
|
|
Paesi Bassi | europe-west4 |
|
Limitazioni
Le query continue sono soggette alle seguenti limitazioni:
- Le query continue di BigQuery non mantengono lo stato
dei dati importati. Le operazioni comuni che si basano sullo stato, come una
JOIN
, una funzione di aggregazione o una funzione finestra, non sono supportate. Non puoi utilizzare le seguenti funzionalità SQL in una query continua:
- Operazioni
JOIN
- Funzioni di aggregazione
- Funzioni di aggregazione approssimativa
Le seguenti clausole della query:
I seguenti operatori di query:
Operatori di set delle query
Funzioni BigQuery ML diverse da quelle elencate in Operazioni supportate
Istruzioni DML (Data Manipulation Language) ad eccezione di
INSERT
.Istruzioni
EXPORT DATA
che non hanno come target Bigtable o Pub/Sub
- Operazioni
Le query continue non supportano l'elaborazione dei dati Change Data Capture (CDC) upsert.
Le query continue non supportano le tabelle jolly come origine dati.
Le query continue non supportano le tabelle esterne come origine dati.
Le query continue non supportano le viste INFORMATION_SCHEMA come origine dati.
Le query continue non supportano le tabelle BigLake per Apache Iceberg in BigQuery.
Le query continue non supportano le seguenti funzionalità di sicurezza di BigQuery:
Quando esporti i dati in Bigtable, puoi scegliere come target solo le istanze Bigtable che rientrano nello stesso confine regionale diGoogle Cloud del dataset BigQuery che contiene la tabella su cui stai eseguendo la query. Per ulteriori informazioni, consulta Considerazioni sulla località. Questa limitazione non si applica all'esportazione dei dati in Pub/Sub perché Pub/Sub è una risorsa globale.
Non puoi eseguire una query continua da un canvas di dati.
Non puoi modificare l'SQL utilizzato in una query continua mentre è in esecuzione il relativo job. Per saperne di più, consulta Modificare l'SQL di una query continua.
Se un job di query continua è in ritardo nell'elaborazione dei dati in arrivo e ha un ritardo della filigrana di output di più di 48 ore, il job non va a buon fine. Puoi eseguire di nuovo la query e utilizzare la funzione della cronologia delle modifiche
APPENDS
per riprendere l'elaborazione dal momento in cui hai interrotto il precedente job di query continua. Per saperne di più, consulta Avvia una query continua da un momento specifico.Una query continua configurata con un account utente può essere eseguita per un massimo di due giorni. Una query continua configurata con un account di servizio può essere eseguita per un massimo di 150 giorni. Quando viene raggiunto il runtime massimo della query, la query non va a buon fine e l'elaborazione dei dati in arrivo si interrompe.
Sebbene le query continue siano create utilizzando le funzionalità di affidabilità di BigQuery, possono verificarsi problemi temporanei occasionali. I problemi potrebbero comportare una certa quantità di rielaborazione automatica della query continua, che potrebbe comportare la duplicazione dei dati nell'output della query continua. Progetta i sistemi downstream in modo che gestiscano questi scenari.
Limitazioni delle prenotazioni
- Per eseguire query continue, devi creare prenotazioni per la versione Enterprise o Enterprise Plus. Le query continue non supportano il modello di fatturazione di calcolo on demand.
- Quando crei un
CONTINUOUS
assegnazione di prenotazione, la prenotazione associata è limitata a un massimo di 500 slot. Puoi richiedere un aumento di questo limite contattando bq-continuous-queries-feedback@google.com. - Un'assegnazione di prenotazione di query continua non condivide slot inattivi, anche se la prenotazione è configurata per farlo.
- Non puoi creare un'assegnazione di prenotazione che utilizzi un tipo di job diverso nella stessa prenotazione di un'assegnazione di prenotazione di query continua.
- Non puoi configurare la concorrenza delle query continue. BigQuery determina automaticamente il numero di query continue che possono essere eseguite contemporaneamente in base alle assegnazioni di prenotazione disponibili che utilizzano il tipo di job
CONTINUOUS
. - Quando esegui più query continue utilizzando la stessa prenotazione, i singoli job potrebbero non dividere equamente le risorse disponibili, come definito da BigQuery fairness.
Scalabilità automatica degli slot
Le query continue possono utilizzare la scalabilità automatica degli slot per scalare dinamicamente la capacità allocata in base al tuo workload. Man mano che il carico di lavoro delle query continue aumenta o diminuisce, BigQuery regola dinamicamente gli slot.
Una volta avviata, una query continua ascolta attivamente i dati in arrivo, che consumano risorse slot. Mentre una prenotazione con una query continua in esecuzione non viene fare lo scale down a zero slot, una query continua inattiva che ascolta principalmente i dati in arrivo dovrebbe consumare una quantità minima di slot, in genere circa 1 slot.
Prezzi
Le query continue utilizzano i
prezzi di calcolo della capacità di BigQuery,
che vengono misurati in slot.
Per eseguire query continue, devi disporre di una
prenotazione che utilizzi
Enterprise o Enterprise Plus,
e di un assegnazione di prenotazione
che utilizzi il tipo di job CONTINUOUS
.
L'utilizzo di altre risorse BigQuery, come l'importazione e l'archiviazione dei dati, viene addebitato alle tariffe indicate nei prezzi di BigQuery.
L'utilizzo di altri servizi che ricevono risultati di query continua o che vengono chiamati durante l'elaborazione di query continua viene addebitato alle tariffe pubblicate per questi servizi. Per i prezzi di altri servizi Google Cloud utilizzati dalle query continue, consulta i seguenti argomenti:
Passaggi successivi
Prova a creare una query continua.