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 kontinuierlichen Abfragen 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 anreichern 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-Funktionen:
Für diese Funktionen 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
Verwenden Sie zum Ausführen lang laufender kontinuierlicher Abfragen ein Dienstkonto anstelle eines Nutzerkontos.
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 sind nicht durch eine TTL beschränkt. Daher werden Jobs für kontinuierliche Abfragen, die von einem Dienstkonto ausgeführt werden, so lange ausgeführt, bis sie explizit abgebrochen werden. Weitere Informationen finden Sie unter Eine kontinuierliche Abfrage mit einem Dienstkonto ausführen.
Standorte
Kontinuierliche Abfragen werden an den folgenden Standorten unterstützt:
US
EU
asia-northeast1
asia-south1
europe-west1
europe-west2
europe-west4
us-central1
us-east1
us-east4
us-west1
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
JOINs
, Aggregatfunktionen und Analysefunktionen mit Fenstern, werden derzeit nicht unterstützt. Die folgenden SQL-Funktionen können in einer kontinuierlichen Abfrage nicht verwendet werden:
- Nicht deterministische Skalarfunktionen, z. B. die Funktion
CURRENT_DATE
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
- Nicht deterministische Skalarfunktionen, z. B. die Funktion
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.
Continuous Queries werden nicht für BigQuery-Tabellen für Apache Iceberg unterstützt.
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 in derselben Google Cloud-Region 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 der fortlaufende Abfragejob mehr als sieben Tage in Verzug ist, müssen Sie ihn abbrechen und einen neuen fortlaufenden Abfragejob starten. 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.
Reservierungseinschränkungen
- Sie müssen reservations 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 Reservierungszuweisung für eine kontinuierliche Abfrage erstellen, ist die zugehörige Reservierung auf maximal 500 Slots beschränkt und kann nicht für die Autoscaling-Funktion konfiguriert werden.
- 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.
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 abgerechnet.
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 anderer Google Cloud-Dienste, die für kontinuierliche Abfragen verwendet werden, finden Sie in den folgenden Themen:
Nächste Schritte
Erstellen Sie eine kontinuierliche Abfrage.