Einführung in Continuous Queries
In diesem Dokument werden Continuous Queries in BigQuery beschrieben.
BigQuery-Continuous Queries sind SQL-Anweisungen, die kontinuierlich ausgeführt werden. Mit Continuous Queries können Sie eingehende Daten in BigQuery in Echtzeit analysieren. Sie können die von einer kontinuierlichen Abfrage erstellten Ausgaberows in eine BigQuery-Tabelle einfügen oder nach Pub/Sub oder Bigtable exportieren. Kontinuierliche Abfragen können Daten verarbeiten, die mit einer der folgenden Methoden in BigQuery-Standardtabellen geschrieben wurden:
- Die BigQuery Storage Write API
- Die
tabledata.insertAll
-Methode - Batch-Ladevorgang
- Die DML-Anweisung
INSERT
Mit kontinuierlichen Abfragen können Sie zeitkritische Aufgaben ausführen, z. B. Erkenntnisse erstellen und sofort darauf reagieren, Echtzeit-Inferenzen für maschinelles Lernen (ML) anwenden und Daten auf andere Plattformen replizieren. So können Sie BigQuery als ereignisgesteuerte Datenverarbeitungs-Engine für die Entscheidungslogik Ihrer Anwendung verwenden.
Das folgende Diagramm zeigt gängige Workflows für kontinuierliche Abfragen:
Anwendungsfälle
Häufige Anwendungsfälle für kontinuierliche Abfragen:
- Personalisierte Kundenservices: Mit generativer KI können Sie maßgeschneiderte Nachrichten für jede Kundeninteraktion erstellen.
- Anomalieerkennung: Erstellen Sie Lösungen, mit denen Sie Anomalien und Bedrohungen in Echtzeit in komplexen Daten erkennen können, damit Sie schneller auf Probleme reagieren können.
- Anpassbare ereignisgesteuerte Pipelines: Verwenden Sie die Integration kontinuierlicher Abfragen mit Pub/Sub, um Downstream-Anwendungen basierend auf eingehenden Daten auszulösen.
- Datenanreicherung und ‑extraktion: Mit kontinuierlichen Abfragen können Sie Daten in Echtzeit anreichern und transformieren. Dazu verwenden Sie SQL-Funktionen und ML-Modelle.
- Reverse ETL (Extrahieren, Transformieren, Laden): Führen Sie Reverse ETL in Echtzeit in andere Speichersysteme aus, die besser für die Bereitstellung von Anwendungen mit niedriger Latenz geeignet sind. Beispielsweise können Sie Ereignisdaten, die in BigQuery geschrieben werden, analysieren oder erweitern und sie dann für die Anwendungsbereitstellung in Bigtable streamen.
Unterstützte Vorgänge
Die folgenden Vorgänge werden in kontinuierlichen Abfragen unterstützt:
INSERT
-Anweisungen ausführen, um Daten aus einer kontinuierlichen Abfrage in eine BigQuery-Tabelle zu schreiben.EXPORT DATA
-Anweisungen ausführen, um die Ausgabe von kontinuierlichen Abfragen in Pub/Sub-Themen zu veröffentlichen. Weitere Informationen finden Sie unter Daten nach Pub/Sub exportieren.Sie können die Daten aus einem Pub/Sub-Thema mit anderen Diensten verwenden, z. B. Streaminganalysen mit Dataflow durchführen oder die Daten in einem Workflow zur Anwendungsintegration verwenden.
EXPORT DATA
-Anweisungen zum Exportieren von Daten aus BigQuery in Bigtable-Tabellen ausführen. Weitere Informationen finden Sie unter Daten in Bigtable exportieren.Die folgende Funktion für generative KI wird aufgerufen:
Für diese Funktion benötigen Sie ein BigQuery ML-Remote-Modell für ein Vertex AI-Modell.
Die folgenden KI-Funktionen werden aufgerufen:
Für diese Funktionen benötigen Sie ein BigQuery ML-Remote-Modell für eine Cloud AI API.
Numerische Daten mit der
ML.NORMALIZER
-Funktion normalisieren.Verwenden zustandsloser GoogleSQL-Funktionen, z. B. Konvertierungsfunktionen. Bei zustandslosen Funktionen wird jede Zeile unabhängig von anderen Zeilen in der Tabelle verarbeitet.
Verwenden Sie die Änderungsverlaufsfunktion
APPENDS
, um die Verarbeitung kontinuierlicher Abfragen ab einem bestimmten Zeitpunkt zu starten.
Autorisierung
Die Google Cloud Zugriffstokens, die beim Ausführen von Jobs für kontinuierliche Abfragen verwendet werden, haben eine Gültigkeitsdauer (Time-to-Live, TTL) von zwei Tagen, wenn sie von einem Nutzerkonto generiert werden. Daher werden solche Jobs nach zwei Tagen beendet. Die von Dienstkonten generierten Zugriffstokens können länger laufen, müssen aber weiterhin die maximale Abfragelaufzeit einhalten. Weitere Informationen finden Sie unter Kontinuierliche Abfrage mit einem Dienstkonto ausführen.
Standorte
Kontinuierliche Abfragen werden an den folgenden Standorten unterstützt:
Beschreibung der Region | Name der Region | Details | |
---|---|---|---|
Amerika | |||
Iowa | us-central1 |
|
|
Montreal | northamerica-northeast1 |
|
|
Northern Virginia | us-east4 |
||
Oregon | us-west1 |
|
|
Salt Lake City | us-west3 |
||
São Paulo | southamerica-east1 |
|
|
South Carolina | us-east1 |
||
USA (mehrere Regionen) | us |
||
Asiatisch-pazifischer Raum | |||
Delhi | asia-south2 |
||
Hongkong | asia-east2 |
||
Jakarta | asia-southeast2 |
||
Mumbai | asia-south1 |
||
Seoul | asia-northeast3 |
||
Singapur | asia-southeast1 |
||
Sydney | australia-southeast1 |
||
Taiwan | asia-east1 |
||
Tokio | asia-northeast1 |
||
Europa | |||
Belgien | europe-west1 |
|
|
EU (mehrere Regionen) | eu |
||
Frankfurt | europe-west3 |
|
|
London | europe-west2 |
|
|
Niederlande | europe-west4 |
|
Beschränkungen
Für kontinuierliche Abfragen gelten die folgenden Einschränkungen:
- Bei Continuous Queries in BigQuery wird der Status der aufgenommenen Daten nicht beibehalten. Häufige Vorgänge, die auf dem Status basieren, z. B. eine
JOIN
-, Aggregations- oder Fensterfunktion, werden nicht unterstützt. Die folgenden SQL-Funktionen können nicht in einer kontinuierlichen Abfrage verwendet werden:
JOIN
-Vorgänge- Aggregatfunktionen
- Näherungswerte für Aggregatfunktionen
Die folgenden Abfrageklauseln:
Die folgenden Abfrageoperatoren:
Set-Operatoren für Abfragen
Andere BigQuery ML-Funktionen als die in Unterstützte Operationen aufgeführten
DDL-Anweisungen (Data Definition Language, Datendefinitionssprache)
Anweisungen der Datenbearbeitungssprache (DML) mit Ausnahme von
INSERT
.Anweisungen der Datenkontrollsprache (Data Control Language, DCL)
EXPORT DATA
-Anweisungen, die nicht auf Bigtable oder Pub/Sub ausgerichtet sind
Continuous Queries unterstützen die Verarbeitung von Change Data Capture (CDC)-Daten nicht.
Platzhaltertabellen werden in kontinuierlichen Abfragen nicht als Datenquelle unterstützt.
Kontinuierliche Abfragen unterstützen externe Tabellen nicht als Datenquelle.
Kontinuierliche Abfragen unterstützen keine INFORMATION_SCHEMA-Ansichten als Datenquelle.
Kontinuierliche Abfragen unterstützen keine BigLake-Tabellen für Apache Iceberg in BigQuery.
Kontinuierliche Abfragen unterstützen die folgenden BigQuery-Sicherheitsfunktionen nicht:
Wenn Sie Daten nach Bigtable exportieren, können Sie nur Bigtable-Instanzen als Ziel verwenden, die sich innerhalb derselbenGoogle Cloud regionalen Grenze wie das BigQuery-Dataset befinden, das die Tabelle enthält, die Sie abfragen. Weitere Informationen finden Sie unter Überlegungen zum Standort. Diese Einschränkung gilt nicht für den Export von Daten nach Pub/Sub, da Pub/Sub eine globale Ressource ist.
Sie können keine kontinuierliche Abfrage über einen Daten-Canvas ausführen.
Sie können die in einer Continuous Query verwendete SQL-Anweisung nicht ändern, während der Continuous Query-Job ausgeführt wird. Weitere Informationen finden Sie unter SQL einer kontinuierlichen Abfrage ändern.
Wenn ein Continuous Query-Job bei der Verarbeitung eingehender Daten in Verzug gerät und eine Verzögerung des Ausgabewasserzeichens von mehr als 48 Stunden aufweist, schlägt er fehl. Sie können die Abfrage noch einmal ausführen und die Änderungsverlaufsfunktion
APPENDS
verwenden, um die Verarbeitung ab dem Zeitpunkt fortzusetzen, an dem Sie den vorherigen kontinuierlichen Abfragejob beendet haben. Weitere Informationen finden Sie unter Kontinuierliche Abfrage ab einem bestimmten Zeitpunkt starten.Eine Continuous Query, die mit einem Nutzerkonto konfiguriert wurde, kann bis zu zwei Tage lang ausgeführt werden. Eine Continuous Query, die mit einem Dienstkonto konfiguriert wurde, kann bis zu 150 Tage lang ausgeführt werden. Wenn die maximale Laufzeit der Abfrage erreicht ist, schlägt die Abfrage fehl und die Verarbeitung eingehender Daten wird beendet.
Kontinuierliche Abfragen werden zwar mit BigQuery-Funktionen für Zuverlässigkeit erstellt, es kann aber gelegentlich zu vorübergehenden Problemen kommen. Probleme können dazu führen, dass Ihre kontinuierliche Abfrage automatisch neu verarbeitet wird. Dies kann zu doppelten Daten in der Ausgabe der kontinuierlichen Abfrage führen. Konzipieren Sie Ihre Downstream-Systeme so, dass sie solche Szenarien bewältigen können.
Reservierungseinschränkungen
- Sie müssen Reservierungen für die Enterprise- oder Enterprise Plus-Version erstellen, um kontinuierliche Abfragen auszuführen. Für kontinuierliche Abfragen wird das Abrechnungsmodell „On-Demand Compute“ nicht unterstützt.
- Wenn Sie eine
CONTINUOUS
Reservierungszuweisung erstellen, ist die zugehörige Reservierung auf maximal 500 Slots beschränkt. Wenn Sie eine Erhöhung dieses Limits anfordern möchten, wenden Sie sich an bq-continuous-queries-feedback@google.com. - Bei einer Zuweisung von kontinuierlichen Abfragereservierungen werden keine inaktiven Slots freigegeben, auch wenn die Reservierung entsprechend konfiguriert ist.
- Sie können keine Reservierungszuweisung erstellen, die in derselben Reservierung einen anderen Jobtyp verwendet als eine Reservierungszuweisung für kontinuierliche Abfragen.
- Sie können die Nebenläufigkeit von Continuous Querys nicht konfigurieren. BigQuery bestimmt automatisch die Anzahl der kontinuierlichen Abfragen, die gleichzeitig ausgeführt werden können. Dabei werden die verfügbaren Reservierungszuweisungen mit dem Jobtyp
CONTINUOUS
berücksichtigt. - Wenn Sie mehrere kontinuierliche Abfragen mit derselben Reservierung ausführen, werden die verfügbaren Ressourcen möglicherweise nicht fair auf die einzelnen Jobs aufgeteilt, wie in BigQuery-Fairness definiert.
Slot-Autoscaling
Kontinuierliche Abfragen können Slot-Autoscaling verwenden, um die zugewiesene Kapazität dynamisch an Ihre Arbeitslast anzupassen. Wenn die Arbeitslast Ihrer kontinuierlichen Abfragen zu- oder abnimmt, passt BigQuery Ihre Slots dynamisch an.
Nachdem eine Continuous Query ausgeführt wird, wird aktiv auf eingehende Daten gewartet, was Slot-Ressourcen verbraucht. Eine Reservierung mit einer laufenden Continuous Query wird nicht auf null Slots skaliert. Eine inaktive Continuous Query, die hauptsächlich auf eingehende Daten wartet, sollte jedoch nur eine minimale Anzahl von Slots belegen, in der Regel etwa einen Slot.
Preise
Für kontinuierliche Abfragen gelten die BigQuery-Kapazitätsrechenpreise, die in Slots gemessen werden.
Zum Ausführen kontinuierlicher Abfragen benötigen Sie eine Reservierung mit dem Enterprise oder Enterprise Plus und eine Reservierungszuweisung mit dem CONTINUOUS
-Jobtyp.
Die Nutzung anderer BigQuery-Ressourcen wie Datenaufnahme und ‑speicherung wird zu den in den BigQuery-Preisen angegebenen Preisen berechnet.
Die Nutzung anderer Dienste, die kontinuierliche Abfrageergebnisse empfangen oder während der Verarbeitung kontinuierlicher Abfragen aufgerufen werden, wird zu den für diese Dienste veröffentlichten Preisen berechnet. Informationen zu den Preisen für andere Google Cloud Dienste, die von kontinuierlichen Abfragen verwendet werden, finden Sie in den folgenden Themen:
Nächste Schritte
Erstellen Sie eine kontinuierliche Abfrage.