Abfrage ausführen
In diesem Dokument erfahren Sie, wie Sie eine Abfrage in BigQuery ausführen und wie viele Daten vor der Ausführung verarbeitet werden, indem Sie einen Probelauf ausführen.
Interaktive Abfragen vs. Batch-Abfragen
In BigQuery können Sie zwei Arten von Abfragen ausführen:
- Interaktive Abfragejobs sind Jobs, die BigQuery nach Bedarf ausführt.
- Batch-Abfragejobs sind Aufträge, auf deren Ausführung BigQuery wartet bis ungenutzte Rechenressourcen verfügbar sind.
BigQuery führt Ihre Abfragen standardmäßig als interaktive Abfragejobs aus, die so schnell wie möglich ausgeführt werden. BigQuery berechnet das Limit für gleichzeitige Abfragen dynamisch anhand der Ressourcenverfügbarkeit und bevorzugt die gleichzeitige Ausführung von interaktiven Abfragen als Batch-Abfragen. Wenn das Limit für gleichzeitige Abfragen erreicht ist, warten zusätzliche Abfragen in einer Warteschlange. Weitere Informationen finden Sie unter Abfragewarteschlangen.
BigQuery speichert die Abfrageergebnisse entweder in einer temporären Tabelle (Standardeinstellung) oder einer permanenten Tabelle. Wenn Sie eine permanente Tabelle als Zieltabelle für die Ergebnisse angeben, können Sie auswählen, ob eine vorhandene Tabelle angefügt oder überschrieben werden soll, oder eine neue Tabelle mit einem eindeutigen Namen erstellt werden soll.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Ausführen eines Abfragejobs benötigen:
-
BigQuery-Jobnutzer (
roles/bigquery.jobUser
) für das Projekt. -
BigQuery-Datenbetrachter (
roles/bigquery.dataViewer
) für alle Tabellen und Ansichten, auf die Ihre Abfrage verweist. Zum Abfragen von Ansichten benötigen Sie diese Rolle auch für alle zugrunde liegenden Tabellen und Ansichten. Wenn Sie autorisierte Ansichten oder autorisierte Datasets verwenden, benötigen Sie keinen Zugriff auf die zugrunde liegenden Quelldaten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen eines Abfragejobs erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Ausführen eines Abfragejobs erforderlich:
-
bigquery.jobs.create
für das Projekt, in dem die Abfrage ausgeführt wird, unabhängig davon, wo die Daten gespeichert sind. -
bigquery.tables.getData
für alle Tabellen und Ansichten, auf die Ihre Abfrage verweist. Zum Abfragen von Ansichten benötigen Sie diese Berechtigung auch für alle zugrunde liegenden Tabellen und Ansichten. Wenn Sie autorisierte Ansichten oder autorisierte Datasets verwenden, benötigen Sie keinen Zugriff auf die zugrunde liegenden Quelldaten.
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Fehlerbehebung
Der folgende Fehler tritt auf, wenn ein Prinzip nicht berechtigt ist, Abfragejobs im Projekt zu erstellen: Access Denied: Project [project_id]: User does not have
bigquery.jobs.create permission in project [project_id].
Lösung: Prüfen Sie, ob Sie die Berechtigung bigquery.jobs.create
für das Projekt haben, von dem aus Sie die Abfrage ausführen. Diese Berechtigung wird zusätzlich zu jeder Berechtigung für die abgefragten Daten benötigt.
Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.
Interaktive Abfrage ausführen
Wählen Sie eine der folgenden Optionen aus, um eine interaktive Abfrage auszuführen:
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie auf
Neue Abfrage erstellen.Geben Sie im Abfrageeditor eine gültige GoogleSQL-Abfrage ein.
Fragen Sie beispielsweise das öffentliche BigQuery-Dataset
usa_names
ab, um die häufigsten Namen in den USA zwischen den Jahren 1910 und 2013 zu ermitteln:SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10;
Optional: Geben Sie die Zieltabelle und den Standort für die Abfrageergebnisse an:
- Klicken Sie im Abfrageeditor auf Mehr und dann auf Abfrageeinstellungen.
- Aktivieren Sie im Abschnitt Ziel die Option Zieltabelle für Abfrageergebnisse festlegen.
- Geben Sie unter Dataset den Namen eines vorhandenen Datasets für die Zieltabelle ein, z. B.
myProject.myDataset
. - Geben Sie unter Tabellen-ID einen Namen für die Zieltabelle ein, z. B.
myTable
. Wenn die Zieltabelle eine vorhandene Tabelle ist, wählen Sie als Schreibeinstellung für Zieltabelle aus, ob die Tabelle mit den Abfrageergebnissen angefügt oder überschrieben werden soll.
Wenn die Zieltabelle eine neue Tabelle ist, erstellt BigQuery die Tabelle, wenn Sie Ihre Abfrage ausführen.
Klicken Sie im Abschnitt Zusätzliche Einstellungen auf das Menü Speicherort der Daten und wählen Sie eine Option aus.
In diesem Beispiel wird das Dataset
usa_names
am multiregionalen Standort „US“ gespeichert. Wenn Sie für diese Abfrage eine Zieltabelle angeben, muss sich das Dataset, das die Zieltabelle enthält, ebenfalls am multiregionalen Standort „US“ befinden. Es ist nicht möglich, ein Dataset an einem Standort abzufragen und die Ergebnisse in eine Zieltabelle an einem anderen Standort zu schreiben.Klicken Sie auf Speichern.
Klicken Sie auf
Ausführen.Wenn Sie keine Zieltabelle angeben, schreibt der Abfragejob die Ausgabe in eine temporäre (Cache-)Tabelle.
Sie können sich jetzt die Abfrageergebnisse auf dem Tab Ergebnisse des Bereichs Abfrageergebnisse ansehen.
Optional: Klicken Sie zum Sortieren der Abfrageergebnisse (Vorschau) nach Spalten neben dem Spaltennamen auf
Sortiermenü öffnen und wählen Sie eine Sortierreihenfolge aus. Wenn die geschätzten Byte, die für die Sortierung verarbeitet wurden, größer als null sind, wird die Anzahl der Byte oben im Menü angezeigt.Optional: Öffnen Sie den Tab Diagramm, um Ihre Abfrageergebnisse darzustellen. Sie können das Diagramm vergrößern oder verkleinern, das Diagramm als PNG-Datei herunterladen oder die Sichtbarkeit der Legende umschalten.
Im Bereich Diagrammkonfiguration können Sie den Diagrammtyp (Linie, Balken oder Streu) ändern und die Messwerte und Dimensionen des Diagramms konfigurieren. Die Felder in diesem Bereich werden mit der Anfangskonfiguration vorausgefüllt, die aus dem Zieltabellenschema der Abfrage abgeleitet wurde. Die Konfiguration wird zwischen folgenden Abfrageausführungen im selben Abfrageeditor beibehalten. Dimensionen unterstützen die Datentypen
INTEGER
,INT64
,FLOAT
,FLOAT64
,NUMERIC
,BIGNUMERIC
,TIMESTAMP
,DATE
,DATETIME
,TIME
undSTRING
, Messungen unterstützen die DatentypenINTEGER
,INT64
,FLOAT
,FLOAT64
,NUMERIC
undBIGNUMERIC
.Optional: Auf dem Tab JSON können Sie die Abfrageergebnisse im JSON-Format prüfen. Dabei ist der Schlüssel der Spaltenname und der Wert das Ergebnis für diese Spalte.
bq
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Führen Sie den Befehl
bq query
aus. Im folgenden Beispiel können Sie mit dem Flag--use_legacy_sql=false
die GoogleSQL-Syntax verwenden.bq query \ --use_legacy_sql=false \ 'QUERY'
Ersetzen Sie QUERY durch eine gültige GoogleSQL-Abfrage. Fragen Sie beispielsweise das öffentliche BigQuery-Dataset
usa_names
ab, um die häufigsten Namen in den USA zwischen den Jahren 1910 und 2013 zu ermitteln:bq query \ --use_legacy_sql=false \ 'SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10;'
Der Abfragejob schreibt die Ausgabe in eine temporäre (Cache-)Tabelle.
Optional können Sie die Zieltabelle und den Standort für die Abfrageergebnisse angeben. Wenn Sie die Ergebnisse in eine vorhandene Tabelle schreiben möchten, fügen Sie das entsprechende Flag zum Anfügen (
--append_table=true
) oder Überschreiben (--replace=true
) der Tabelle ein.bq query \ --location=LOCATION \ --destination_table=TABLE \ --use_legacy_sql=false \ 'QUERY'
Dabei gilt:
LOCATION: die Region oder Multiregion für die Zieltabelle, z. B.
US
In diesem Beispiel wird das Dataset
usa_names
am multiregionalen Standort „US“ gespeichert. Wenn Sie für diese Abfrage eine Zieltabelle angeben, muss sich das Dataset, das die Zieltabelle enthält, ebenfalls am multiregionalen Standort „US“ befinden. Es ist nicht möglich, ein Dataset an einem Standort abzufragen und die Ergebnisse in eine Zieltabelle an einem anderen Standort zu schreiben.Mit der Datei ".bigqueryrc" können Sie einen Standardwert für den Standort festlegen.
TABLE: der Name der Zieltabelle, z. B.
myDataset.myTable
Wenn die Zieltabelle eine neue Tabelle ist, erstellt BigQuery die Tabelle, wenn Sie Ihre Abfrage ausführen. Sie müssen jedoch ein vorhandenes Dataset angeben.
Wenn sich die Tabelle nicht in Ihrem aktuellen Projekt befindet, fügen Sie die Google Cloud-Projekt-ID im Format
PROJECT_ID:DATASET.TABLE
hinzu, z. B.myProject:myDataset.myTable
. Wenn--destination_table
nicht angegeben ist, wird ein Abfragejob generiert, der die Ausgabe in eine temporäre (Cache-)Tabelle schreibt.
API
Sie können die API zum Ausführen einer Abfrage verwenden. Dazu fügen Sie einen neuen Job ein und füllen das Jobkonfigurationsattribut query
mit Daten. Optional: Geben Sie Ihren Standort im Attribut location
im Abschnitt jobReference
der Jobressource an.
Rufen Sie getQueryResults
auf, um die Ergebnisse abzufragen.
Führen Sie die Abfrage so lange aus, bis jobComplete
gleich true
ist. In der Liste errors
werden Fehler und Warnungen angezeigt.
C#
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der C#-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery C# API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Informationen zum Ausführen einer Abfrage mit einem Proxy finden Sie unter Proxy konfigurieren.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von PHP in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery PHP API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Ruby in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Ruby API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Weitere Informationen finden Sie unter Interaktive Abfragen vs. Batch-Abfragen.
Batch-Abfrage ausführen
Wählen Sie eine der folgenden Optionen aus, um eine Batch-Abfrage auszuführen:
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie auf
Neue Abfrage erstellen.Geben Sie im Abfrageeditor eine gültige GoogleSQL-Abfrage ein.
Fragen Sie beispielsweise das öffentliche BigQuery-Dataset
usa_names
ab, um die häufigsten Namen in den USA zwischen den Jahren 1910 und 2013 zu ermitteln:SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10;
Klicken Sie auf
Mehr und dann auf Abfrageeinstellungen.Wählen Sie im Abschnitt Ressourcenverwaltung die Option Batch aus.
Optional: Geben Sie die Zieltabelle und den Standort für die Abfrageergebnisse an:
- Aktivieren Sie im Abschnitt Ziel die Option Zieltabelle für Abfrageergebnisse festlegen.
- Geben Sie unter Dataset den Namen eines vorhandenen Datasets für die Zieltabelle ein, z. B.
myProject.myDataset
. - Geben Sie unter Tabellen-ID einen Namen für die Zieltabelle ein, z. B.
myTable
. Wenn die Zieltabelle eine vorhandene Tabelle ist, wählen Sie als Schreibeinstellung für Zieltabelle aus, ob die Tabelle mit den Abfrageergebnissen angefügt oder überschrieben werden soll.
Wenn die Zieltabelle eine neue Tabelle ist, erstellt BigQuery die Tabelle, wenn Sie Ihre Abfrage ausführen.
Klicken Sie im Abschnitt Zusätzliche Einstellungen auf das Menü Speicherort der Daten und wählen Sie eine Option aus.
In diesem Beispiel wird das Dataset
usa_names
am multiregionalen Standort „US“ gespeichert. Wenn Sie für diese Abfrage eine Zieltabelle angeben, muss sich das Dataset, das die Zieltabelle enthält, ebenfalls am multiregionalen Standort „US“ befinden. Es ist nicht möglich, ein Dataset an einem Standort abzufragen und die Ergebnisse in eine Zieltabelle an einem anderen Standort zu schreiben.
Klicken Sie auf Speichern.
Klicken Sie auf
Ausführen.Wenn Sie keine Zieltabelle angeben, schreibt der Abfragejob die Ausgabe in eine temporäre (Cache-)Tabelle.
Optional: Klicken Sie zum Sortieren der Abfrageergebnisse (Vorschau) nach Spalten neben dem Spaltennamen auf
Sortiermenü öffnen und wählen Sie eine Sortierreihenfolge aus. Wenn die geschätzten Byte, die für die Sortierung verarbeitet wurden, größer als null sind, wird die Anzahl der Byte oben im Menü angezeigt.Optional: Öffnen Sie den Tab Diagramm, um Ihre Abfrageergebnisse darzustellen. Sie können das Diagramm vergrößern oder verkleinern, das Diagramm als PNG-Datei herunterladen oder die Sichtbarkeit der Legende umschalten.
Im Bereich Diagrammkonfiguration können Sie den Diagrammtyp (Linie, Balken oder Streu) ändern und die Messwerte und Dimensionen des Diagramms konfigurieren. Die Felder in diesem Bereich werden mit der Anfangskonfiguration vorausgefüllt, die aus dem Zieltabellenschema der Abfrage abgeleitet wurde. Die Konfiguration wird zwischen folgenden Abfrageausführungen im selben Abfrageeditor beibehalten. Dimensionen unterstützen die Datentypen
INTEGER
,INT64
,FLOAT
,FLOAT64
,NUMERIC
,BIGNUMERIC
,TIMESTAMP
,DATE
,DATETIME
,TIME
undSTRING
, Messungen unterstützen die DatentypenINTEGER
,INT64
,FLOAT
,FLOAT64
,NUMERIC
undBIGNUMERIC
.
bq
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Verwenden Sie den Befehl
bq query
und geben Sie das Flag--batch
an. Im folgenden Beispiel können Sie mit dem Flag--use_legacy_sql=false
die GoogleSQL-Syntax verwenden.bq query \ --batch \ --use_legacy_sql=false \ 'QUERY'
Ersetzen Sie QUERY durch eine gültige GoogleSQL-Abfrage. Fragen Sie beispielsweise das öffentliche BigQuery-Dataset
usa_names
ab, um die häufigsten Namen in den USA zwischen den Jahren 1910 und 2013 zu ermitteln:bq query \ --batch \ --use_legacy_sql=false \ 'SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 10;'
Der Abfragejob schreibt die Ausgabe in eine temporäre (Cache-)Tabelle.
Optional können Sie die Zieltabelle und den Standort für die Abfrageergebnisse angeben. Wenn Sie die Ergebnisse in eine vorhandene Tabelle schreiben möchten, fügen Sie das entsprechende Flag zum Anfügen (
--append_table=true
) oder Überschreiben (--replace=true
) der Tabelle ein.bq query \ --batch \ --location=LOCATION \ --destination_table=TABLE \ --use_legacy_sql=false \ 'QUERY'
Dabei gilt:
LOCATION: die Region oder Multiregion für die Zieltabelle, z. B.
US
In diesem Beispiel wird das Dataset
usa_names
am multiregionalen Standort „US“ gespeichert. Wenn Sie für diese Abfrage eine Zieltabelle angeben, muss sich das Dataset, das die Zieltabelle enthält, ebenfalls am multiregionalen Standort „US“ befinden. Es ist nicht möglich, ein Dataset an einem Standort abzufragen und die Ergebnisse in eine Zieltabelle an einem anderen Standort zu schreiben.Mit der Datei ".bigqueryrc" können Sie einen Standardwert für den Standort festlegen.
TABLE: der Name der Zieltabelle, z. B.
myDataset.myTable
Wenn die Zieltabelle eine neue Tabelle ist, erstellt BigQuery die Tabelle, wenn Sie Ihre Abfrage ausführen. Sie müssen jedoch ein vorhandenes Dataset angeben.
Wenn sich die Tabelle nicht in Ihrem aktuellen Projekt befindet, fügen Sie die Google Cloud-Projekt-ID im Format
PROJECT_ID:DATASET.TABLE
hinzu, z. B.myProject:myDataset.myTable
. Wenn--destination_table
nicht angegeben ist, wird ein Abfragejob generiert, der die Ausgabe in eine temporäre (Cache-)Tabelle schreibt.
API
Sie können die API zum Ausführen einer Abfrage verwenden. Dazu fügen Sie einen neuen Job ein und füllen das Jobkonfigurationsattribut query
mit Daten. Optional: Geben Sie Ihren Standort im Attribut location
im Abschnitt jobReference
der Jobressource an.
Wenn Sie die Attribute des Abfragejobs angeben, nehmen Sie das Attribut configuration.query.priority
auf und setzen Sie den Wert auf BATCH
.
Rufen Sie getQueryResults
auf, um die Ergebnisse abzufragen.
Führen Sie die Abfrage so lange aus, bis jobComplete
gleich true
ist. In der Liste errors
werden Fehler und Warnungen angezeigt.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Zum Ausführen einer Batch-Abfrage legen Sie die Abfragepriorität fest, und zwar auf QueryJobConfiguration.Priority.BATCH, wenn Sie eine QueryJobConfiguration erstellen.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Java-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Weitere Informationen finden Sie unter Interaktive Abfragen vs. Batch-Abfragen.
Kontingente
Informationen zu Kontingenten für interaktive Abfragen und Batchabfragen finden Sie unter Abfragejobs.
Anzahl der interaktiven Abfragen und Batchabfragen anzeigen
Sie können die Anzahl der interaktiven Abfragen und Batchabfragen mit der Ansicht INFORMATION_SCHEMA.JOBS_BY_PROJECT
anzeigen.
Im folgenden Beispiel wird mit der Ansicht INFORMATION_SCHEMA.JOBS_BY_PROJECT
die Anzahl der interaktiven Abfragen und Batchabfragen abgerufen, die in den letzten sieben Stunden ausgeführt wurden:
SELECT
priority,
COUNT(*) active_jobs,
FROM
`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 hour)
AND end_time IS NULL
AND job_type = 'QUERY'
GROUP BY priority
In der Ansicht INFORMATION_SCHEMA.JOBS_BY_PROJECT
wird mit dem Feld priority
angegeben, ob eine Abfrage INTERACTIVE
oder BATCH
ist. Weitere Informationen finden Sie unter
Schema:
Probelauf
Ein Probelauf in BigQuery liefert folgende Informationen:
- Schätzung der Gebühren im On-Demand-Modus
- Validierung Ihrer Abfrage
- Ungefähre Größe und Komplexität Ihrer Abfrage im Kapazitätsmodus
Bei Probeläufen werden keine Abfrage-Slots verwendet. Für einen Probelauf fallen keine Kosten an. Verwenden Sie den Schätzungswert, der vom Probelauf zurückgegeben wird, um die Abfragekosten mit dem Preisrechner zu ermitteln.
Probelauf durchführen
So führen Sie einen Probelauf aus:
Console
Wechseln Sie zur BigQuery-Seite.
Geben Sie Ihre Abfrage in den Abfrageeditor ein.
Wenn die Abfrage gültig ist, wird automatisch ein Häkchen zusammen mit der Datenmenge angezeigt, die durch die Abfrage verarbeitet wird. Wenn die Abfrage ungültig ist, wird ein Ausrufezeichen mit einer Fehlermeldung angezeigt.
bq
Geben Sie eine Abfrage wie die folgende zusammen mit dem Flag --dry_run
ein:
bq query \ --use_legacy_sql=false \ --dry_run \ 'SELECT COUNTRY, AIRPORT, IATA FROM `project_id`.dataset.airports LIMIT 1000'
Bei einer gültigen Abfrage gibt der Befehl die folgende Antwort zurück:
Query successfully validated. Assuming the tables are not modified, running this query will process 10918 bytes of data.
API
Für einen Probelauf über die API übergeben Sie einen Abfragejob, bei dem im JobConfiguration-Typ dryRun
auf true
gesetzt ist.
Einfach loslegen (Go)
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Java API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von PHP in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery PHP API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Setzen Sie das Attribut QueryJobConfig.dry_run auf True
.
Client.query() gibt immer einen abgeschlossenen QueryJob zurück, wenn die Abfrage für einen Probelauf konfiguriert ist.
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Python API.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Nächste Schritte
- Weitere Informationen zum Verwalten von Abfragejobs.
- Weitere Informationen zum Aufrufen des Abfrageverlaufs.
- Abfragen speichern und freigeben.
- Informationen zu Abfragewarteschlangen