Introduzione alle query continue
Questo documento descrive le query continue di BigQuery.
Le query continue di BigQuery sono istruzioni SQL che vengono eseguite continuamente. Le query continue ti consentono di analizzare i dati in entrata 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 che sono stati 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à urgenti, come creare insight e intervenire immediatamente in base a questi, 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 su eventi per la logica decisionale della tua applicazione.
Il seguente diagramma mostra i flussi di lavoro di query continue più comuni:
Casi d'uso
Di seguito sono riportati alcuni casi d'uso comuni in cui potresti voler utilizzare le query continue:
- Servizi di interazione con i clienti personalizzati: utilizza 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 delle query continue con Pub/Sub per attivare le applicazioni a valle in base ai dati in entrata.
- Arricchimento dei dati ed estrazione di entità: utilizza le query continue per eseguire l'arricchimento e la trasformazione dei dati in tempo reale utilizzando funzioni SQL e modelli ML.
- Estrazione, trasformazione e caricamento (ETL) inverso: esegui ETL inverso in tempo reale in altri sistemi di archiviazione più adatti per l'erogazione di applicazioni a bassa latenza. Ad esempio, analizzando o migliorando i dati sugli eventi scritti in BigQuery, per poi trasmetterli in streaming a Bigtable per il servizio di applicazioni.
Operazioni supportate
Le seguenti operazioni sono supportate nelle query continue:
- Eseguire
istruzioni
INSERT
per scrivere i dati di una query continua in una tabella BigQuery. Esegui
EXPORT DATA
statement per pubblicare l'output delle query continue negli argomenti Pub/Sub. Per maggiori informazioni, consulta Esportare i dati in Pub/Sub.Da un argomento Pub/Sub, puoi utilizzare i dati con altri servizi, ad esempio eseguire analisi dei flussi di dati utilizzando Dataflow o utilizzare i dati in un flusso di lavoro di integrazione dell'applicazione.
Esegui istruzioni
EXPORT DATA
per esportare i dati da BigQuery nelle tabelle Bigtable. Per ulteriori informazioni, consulta Esportare i dati in Bigtable.Chiamate alle seguenti funzioni di AI generativa:
Queste funzioni richiedono un modello BigQuery ML remoto su un modello Vertex AI.
Chiamata delle seguenti funzioni di AI:
Queste funzioni richiedono un modello BigQuery ML remoto su un'API Cloud AI.
Normalizzazione dei dati numerici utilizzando la funzione
ML.NORMALIZER
.Utilizzo di funzioni GoogleSQL senza stato, ad esempio funzioni di conversione. Nelle funzioni senza stato, ogni riga viene elaborata indipendentemente dalle altre righe della tabella.
Utilizza la funzione di cronologia delle modifiche
APPENDS
per avviare l'elaborazione delle query continue da un punto in tempo specifico.
Autorizzazione
Per eseguire query continue di lunga durata, utilizza un account di servizio anziché un account dell'utente.
I token di accesso Google Cloud utilizzati quando vengono eseguiti job di query continue hanno un durata (TTL) di due giorni quando vengono generati da un account utente. Di conseguenza, questi job vengono interrotti dopo due giorni. I token di accesso generati dagli account di servizio non sono vincolati da un TTL, pertanto i job di query continua eseguiti da un account di servizio vengono eseguiti fino all'annullamento esplicito. Per ulteriori informazioni, consulta Eseguire una query continua utilizzando un account di servizio.
Località
Le query continue sono supportate nelle seguenti località:
US
EU
asia-northeast1
asia-south1
europe-west1
europe-west2
europe-west4
us-central1
us-east1
us-east4
us-west1
Limitazioni
Le query continue sono soggette alle seguenti limitazioni:
- Le query continue di BigQuery non mantengono lo stato dei dati acquisiti. Le operazioni comuni che si basano sullo stato, come
JOINs
, le funzioni di aggregazione e le funzioni di analisi con finestra, non sono attualmente supportate. Non puoi utilizzare le seguenti funzionalità SQL in una query continua:
- Funzioni scalari non deterministiche, ad esempio la
funzione
CURRENT_DATE
- Operazioni
JOIN
- Funzioni di aggregazione
- Funzioni di aggregazione approssimativa
Le seguenti clausole di query:
I seguenti operatori di query:
Operatori 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
- Funzioni scalari non deterministiche, ad esempio la
funzione
Le query continue non supportano le tabelle con caratteri jolly come origine dati.
Le query continue non supportano le tabelle esterne come origine dati.
Le query continue non supportano le visualizzazioni INFORMATION_SCHEMA come origine dati.
Le query continue non supportano le tabelle BigQuery per Apache Iceberg.
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 di Google Cloud del set di dati BigQuery che contiene la tabella su cui stai eseguendo una 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 riquadro di dati.
Non puoi modificare il codice SQL utilizzato in una query continua mentre è in esecuzione il job di query continua. Per ulteriori informazioni, consulta Modificare il codice SQL di una query continua.
Se il job di query continuativa è in ritardo di più di sette giorni, devi annullarlo e avviarne uno nuovo. Puoi eseguire di nuovo la query e utilizzare la funzione
APPENDS
della cronologia delle modifiche per riprendere l'elaborazione dal punto in cui hai interrotto il job di query continua precedente. Per ulteriori informazioni, consulta Avvia una query continua da un determinato punto in tempo.
Limitazioni delle prenotazioni
- Per eseguire query continue, devi creare reservations della versione Enterprise o Enterprise Plus. Le query continue non supportano il modello di fatturazione per l'elaborazione on demand.
- Quando crei un assegnazione della prenotazione per una query continua, la prenotazione associata è limitata a 500 slot o meno e non può essere configurata per l'utilizzo della scalabilità automatica.
- L'assegnazione di una prenotazione per query continue non condivide slot inutilizzati, 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 suddividere equamente le risorse disponibili, come definito dall'equità di BigQuery.
Prezzi
Le query continue utilizzano
prezzi di calcolo della capacità di BigQuery,
che vengono misurati in slot.
Per eseguire query continue, devi disporre di una
prenotazione che utilizzi la
versione Enterprise o Enterprise Plus,
e di un'assegnazione della 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 nella pagina Prezzi di BigQuery.
L'utilizzo di altri servizi che ricevono risultati di query continue o che vengono chiamati durante l'elaborazione delle query continue 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.