Einführung in kontinuierliche Abfragen
In diesem Dokument werden Continuous Queries in BigQuery beschrieben.
BigQuery-kontinuierliche Abfragen 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 generierten Ausgabezeilen in eine BigQuery-Tabelle einfügen oder nach Pub/Sub oder Bigtable exportieren. Mit kontinuierlichen Abfragen können Daten verarbeitet werden, die mit einer der folgenden Methoden in Standard-BigQuery-Tabellen geschrieben wurden:
- Die BigQuery Storage Write API
- Die Methode
tabledata.insertAll
- 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 in anderen 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
Gängige Anwendungsfälle für kontinuierliche Abfragen:
- Personalisierte Kundeninteraktionsdienste: Mithilfe von generativer KI können Sie personalisierte Nachrichten für jede Kundeninteraktion erstellen.
- Anomalieerkennung: Erstellen Sie Lösungen, mit denen Sie Anomalien und Bedrohungen in komplexen Daten in Echtzeit erkennen können, damit Sie schneller auf Probleme reagieren können.
- Benutzerdefinierte ereignisgesteuerte Pipelines: Mit der Integration kontinuierlicher Abfragen in Pub/Sub können Sie Downstream-Anwendungen basierend auf eingehenden Daten auslösen.
- Datenerweiterung und Entitätenextraktion: Mithilfe von kontinuierlichen Abfragen können Sie Daten in Echtzeit mit SQL-Funktionen und ML-Modellen ergänzen und transformieren.
- Reverse-ETL (Extrahieren, Transformieren, Laden): Führen Sie Reverse-ETL in Echtzeit in andere Speichersysteme aus, die für die Bereitstellung von Anwendungen mit niedriger Latenz besser geeignet sind. Sie können beispielsweise Ereignisdaten analysieren oder erweitern, die in BigQuery geschrieben werden, und sie dann für die Anwendungsauslieferung an Bigtable streamen.
Unterstützte Vorgänge
Die folgenden Vorgänge werden in kontinuierlichen Abfragen unterstützt:
- Durch Ausführen von
INSERT
-Anweisungen werden Daten aus einer kontinuierlichen Abfrage in eine BigQuery-Tabelle geschrieben. Durch Ausführen von
EXPORT DATA
-Anweisungen wird die Ausgabe einer kontinuierlichen Abfrage in Pub/Sub-Themen veröffentlicht. Weitere Informationen finden Sie unter Daten nach Pub/Sub exportieren.Sie können die Daten aus einem Pub/Sub-Thema in anderen Diensten verwenden, z. B. für Streaminganalysen mit Dataflow oder für die Datennutzung in einem Workflow zur Anwendungsintegration.
Durch Ausführen von
EXPORT DATA
-Anweisungen werden Daten aus BigQuery in Bigtable-Tabellen exportiert. Weitere Informationen finden Sie unter Daten in Bigtable exportieren.Aufruf der folgenden generativen KI-Funktion:
Für diese Funktion benötigen Sie ein BigQuery ML-Remote-Modell über ein Vertex AI-Modell.
Aufruf der folgenden KI-Funktionen:
Für diese Funktionen benötigen Sie ein BigQuery ML-Remote-Modell über eine Cloud AI API.
Numerische Daten mit der Funktion
ML.NORMALIZER
normalisierenVerwendung zustandsloser GoogleSQL-Funktionen, z. B. Konvertierungsfunktionen Bei zustandslosen Funktionen wird jede Zeile unabhängig von anderen Zeilen in der Tabelle verarbeitet.
Mit der Änderungsverlaufsfunktion
APPENDS
können Sie die Verarbeitung kontinuierlicher Abfragen ab einem bestimmten Zeitpunkt starten.
Autorisierung
Die Google Cloud Zugriffstokens, die beim Ausführen von Jobs für kontinuierliche Abfragen verwendet werden, haben eine Gültigkeitsdauer von zwei Tagen, wenn sie von einem Nutzerkonto generiert werden. Daher werden solche Jobs nach zwei Tagen nicht mehr ausgeführt. Die von Dienstkonten generierten Zugriffstokens können länger laufen, müssen aber dennoch die maximale Abfragelaufzeit einhalten. Weitere Informationen finden Sie unter Eine 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 |
|
|
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 BigQuery-Continuous Queries wird der Status der aufgenommenen Daten nicht beibehalten. Gängige Vorgänge, die vom Status abhängen, wie
JOIN
, Aggregationsfunktionen oder Fensterfunktionen, werden nicht unterstützt. Die folgenden SQL-Funktionen können in einer kontinuierlichen Abfrage nicht verwendet werden:
JOIN
-Vorgänge- Aggregatfunktionen
- Ungefähre Aggregatfunktionen
Die folgenden Abfrageklauseln:
Die folgenden Abfrageoperatoren:
Andere BigQuery ML-Funktionen als die unter Unterstützten Vorgänge 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 nicht die Verarbeitung von CDC-Upsert-Daten (Change Data Capture).
Bei kontinuierlichen Abfragen werden Platzhaltertabellen nicht als Datenquelle unterstützt.
Für kontinuierliche Abfragen werden keine externen Tabellen als Datenquelle unterstützt.
Für kontinuierliche Abfragen werden keine INFORMATION_SCHEMA-Ansichten als Datenquelle unterstützt.
Kontinuierliche Abfragen unterstützen keine BigLake-Tabellen für Apache Iceberg in BigQuery.
Für kontinuierliche Abfragen werden die folgenden BigQuery-Sicherheitsfunktionen nicht unterstützt:
Beim Exportieren von Daten nach Bigtable können Sie nur Bigtable-Instanzen als Ziel angeben, die sich innerhalb derselbenGoogle Cloud regionalen Grenze wie das BigQuery-Dataset befinden, das die abgefragte Tabelle enthält. 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 aus einem Datencanvas ausführen.
Sie können die in einer Continuous Query verwendete SQL-Abfrage nicht ändern, während der Continuous Query-Job ausgeführt wird. Weitere Informationen finden Sie unter SQL einer kontinuierlichen Abfrage ändern.
Wenn bei einem Continuous-Query-Job bei der Verarbeitung eingehender Daten ein Rückstand entsteht und ein Verzögerungsabstand für das Ausgabe-Wasserzeichen von mehr als 48 Stunden auftritt, 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 Job für kontinuierliche Abfragen beendet haben. Weitere Informationen finden Sie unter Eine kontinuierliche Abfrage ab einem bestimmten Zeitpunkt starten.Eine mit einem Nutzerkonto konfigurierte Continuous Query kann bis zu zwei Tage lang ausgeführt werden. Eine Continuous Query, die mit einem Dienstkonto konfiguriert ist, kann bis zu 150 Tage lang ausgeführt werden. Wenn die maximale Abfragelaufzeit erreicht ist, schlägt die Abfrage fehl und die Verarbeitung eingehender Daten wird beendet.
Kontinuierliche Abfragen werden zwar mit BigQuery-Zuverlässigkeitsfunktionen erstellt, gelegentlich können jedoch vorübergehende Probleme auftreten. Probleme können zu einer teilweisen automatischen Neuverarbeitung Ihrer fortlaufenden Abfrage führen, was zu doppelten Daten in der Ausgabe der fortlaufenden Abfrage führen kann. Entwerfen Sie Ihre Downstream-Systeme so, dass sie mit solchen Szenarien umgehen können.
Reservierungseinschränkungen
- Sie müssen Reservierungen für die Enterprise- oder Enterprise Plus-Version erstellen, um kontinuierliche Abfragen ausführen zu können. Für kontinuierliche Abfragen wird das Abrechnungsmodell für On-Demand-Rechenleistung nicht unterstützt.
- Wenn Sie eine
CONTINUOUS
Reservierungszuweisung erstellen, ist die zugehörige Reservierung auf maximal 500 Slots beschränkt. Sie können eine Erhöhung dieses Limits beantragen, indem Sie sich an bq-continuous-queries-feedback@google.com wenden. - Bei der Zuweisung einer Reservierung für kontinuierliche Abfragen werden keine inaktiven Slots freigegeben, auch wenn die Reservierung so konfiguriert ist.
- Sie können keine Reservierungszuweisung erstellen, die in derselben Reservierung einen anderen Jobtyp als eine Reservierungszuweisung für kontinuierliche Abfragen verwendet.
- Sie können die Nebenläufigkeit von kontinuierlichen Abfragen nicht konfigurieren. BigQuery bestimmt automatisch die Anzahl der kontinuierlichen Abfragen, die gleichzeitig ausgeführt werden können, basierend auf den verfügbaren Reservierungszuweisungen, die den Jobtyp
CONTINUOUS
verwenden. - Wenn Sie mehrere kontinuierliche Abfragen mit derselben Reservierung ausführen, werden die verfügbaren Ressourcen möglicherweise nicht gemäß dem BigQuery-Fairness-Prinzip gerecht auf die einzelnen Jobs verteilt.
Slot-Autoscaling
Bei kontinuierlichen Abfragen kann Slot-Autoscaling verwendet werden, um die zugewiesene Kapazität dynamisch an die Arbeitslast anzupassen. Wenn die Arbeitslast Ihrer kontinuierlichen Abfragen zu- oder abnimmt, passt BigQuery Ihre Slots dynamisch an.
Nachdem eine Continuous Query gestartet wurde, hört sie aktiv auf eingehende Daten, was Slot-Ressourcen beansprucht. Eine Reservierung mit einer laufenden Continuous Query wird nicht auf null Slots herunterskaliert. Eine inaktive Continuous Query, die hauptsächlich auf eingehende Daten wartet, belegt jedoch in der Regel nur eine minimale Anzahl von Slots, 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 in Rechnung gestellt.
Die Nutzung anderer Dienste, die kontinuierliche Abfrageergebnisse erhalten oder während der kontinuierlichen Abfrageverarbeitung aufgerufen werden, wird zu den für diese Dienste veröffentlichten Preisen in Rechnung gestellt. Informationen zu den Preisen für andere Google Cloud Dienste, die für kontinuierliche Abfragen verwendet werden, finden Sie in den folgenden Themen:
Nächste Schritte
Erstellen Sie eine kontinuierliche Abfrage.