Jobs verwalten
Nachdem Sie einen BigQuery-Job gesendet haben, können Sie Jobdetails aufrufen, Jobs auflisten, einen Job abbrechen, einen Job wiederholen oder Jobmetadaten löschen.
Wenn ein Job gesendet wurde, kann er einen der folgenden Status haben:
PENDING
: Der Job ist geplant und wartet auf die Ausführung.RUNNING
: Der Job wird bearbeitet.DONE
: Der Job ist abgeschlossen. Wenn der Job fehlerfrei ausgeführt wird, meldet BigQuery diesen Status alsSUCCESS
. Wenn der Job mit Fehlern abgeschlossen wird, meldet BigQuery diesen Status alsFAILURE
.
Hinweis
Erteilen Sie IAM-Rollen (Identity and Access Management), die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument geben. Die Berechtigungen, die zum Ausführen einer Aufgabe erforderlich sind (sofern zutreffend), werden im Abschnitt "Erforderliche Berechtigungen" der Aufgabe aufgelistet.
Auftragsdetails aufrufen
Sie können Jobdetails über die Google Cloud Console, das bq-Befehlszeilentool, die API oder die Clientbibliotheken aufrufen. Die Details enthalten Daten und Metadaten wie den Jobtyp, den Jobstatus und den Nutzer, der den Job erstellt hat.
Erforderliche Berechtigungen
Zum Aufrufen von Jobdetails benötigen Sie die IAM-Berechtigung bigquery.jobs.get
.
Sie erhalten diese Berechtigung automatisch für die von Ihnen erstellten Jobs.
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Aufrufen von Jobdetails benötigen:
roles/bigquery.admin
(kann Details zu allen Jobs im Projekt aufrufen)roles/bigquery.user
(kann Details zu Ihren Jobs aufrufen)roles/bigquery.jobUser
(kann Details zu Ihren Jobs aufrufen)
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Auftragsdetails aufrufen
So rufen Sie Jobdetails auf:
Console
Rufen Sie die Seite BigQuery auf.
Wählen Sie den Jobverlaufstyp aus, den Sie sehen möchten:
- Klicken Sie auf Persönlicher Verlauf, um Informationen zu Ihren letzten Jobs aufzurufen.
- Zum Aufrufen von Informationen zu den letzten Jobs in Ihrem Projekt klicken Sie auf Projektverlauf.
Klicken Sie auf einen Job, um die Jobdetails aufzurufen.
bq
Führen Sie den Befehl bq show
mit dem Flag --job=true
und einer Job-ID aus.
Wenn Sie die Job-ID angeben, können Sie die vollständig qualifizierte ID oder die Kurzform verwenden. In der Google Cloud Console aufgeführte Job-IDs sind beispielsweise voll qualifiziert – sie enthalten das Projekt und den Standort:
my-project-1234:US.bquijob_123x456_123y123z123c
Job-IDs im Befehlszeilentool werden mit der Kurzform aufgelistet – Projekt-ID und Standort sind nicht enthalten:
bquijob_123x456_123y123z123c
Zur Angabe des Jobstandorts geben Sie das Flag --location
an und legen als Wert Ihren Standort fest. Dieses Flag ist optional, wenn Sie die vollständig qualifizierte Job-ID verwenden. Wenn Sie das Flag --location
und die vollständig qualifizierte Job-ID gemeinsam verwenden, wird das Flag --location
ignoriert.
Der folgende Befehl fordert Informationen zu einem Job an:
bq --location=LOCATION show --job=true JOB_ID
Dabei gilt:
LOCATION
: der Name des Standorts, an dem der Job ausgeführt wird. Wenn Sie beispielsweise BigQuery in der Region Tokio verwenden, geben Sie für das Flag den Wertasia-northeast1
an. Mit der Datei.bigqueryrc
können Sie einen Standardwert für den Standort festlegen. Wenn der Standort nicht als Teil der Job-ID oder mithilfe des Flags--location
angegeben ist, wird der Standardstandort verwendet.JOB_ID
: die ID des Jobs
Beispiele
Der folgende Befehl ruft zusammenfassende Informationen zum Job US.bquijob_123x456_123y123z123c
ab, der in myproject
ausgeführt wird:
bq show --job=true myproject:US.bquijob_123x456_123y123z123c
Die Ausgabe sieht etwa so aus:
Job Type State Start Time Duration User Email Bytes Processed Bytes Billed Billing Tier Labels ---------- --------- ----------------- ---------- ------------------- ----------------- -------------- -------------- -------- extract SUCCESS 06 Jul 11:32:10 0:01:41 user@example.com
Geben Sie Folgendes ein, um die kompletten Jobdetails aufzurufen:
bq show --format=prettyjson --job=true myproject:US.bquijob_123x456_789y123z456c
Die Ausgabe sieht etwa so aus:
{ "configuration": { "extract": { "compression": "NONE", "destinationUri": "[URI removed]", "destinationUris": [ "[URI removed]" ], "sourceTable": { "datasetId": "github_repos", "projectId": "bigquery-public-data", "tableId": "commits" } } }, "etag": "\"[etag removed]\"", "id": "myproject:bquijob_123x456_789y123z456c", "jobReference": { "jobId": "bquijob_123x456_789y123z456c", "projectId": "[Project ID removed]" }, "kind": "bigquery#job", "selfLink": "https://bigquery.googleapis.com/bigquery/v2/projects/federated-testing/jobs/bquijob_123x456_789y123z456c", "statistics": { "creationTime": "1499365894527", "endTime": "1499365894702", "startTime": "1499365894702" }, "status": { "errorResult": { "debugInfo": "[Information removed for readability]", "message": "Operation cannot be performed on a nested schema. Field: author", "reason": "invalid" }, "errors": [ { "message": "Operation cannot be performed on a nested schema. Field: author", "reason": "invalid" } ], "state": "DONE" }, "user_email": "user@example.com" }
API
Rufen Sie jobs.get auf und geben Sie die Parameter jobId
und projectId
an. Optional: Geben Sie den Parameter location
an und legen Sie als Wert den Standort fest, an dem der Job ausgeführt wird. Dieser Parameter ist optional, wenn Sie die vollständig qualifizierte Job-ID verwenden, die den Standort enthält, z. B. my-project-1234:US.bquijob_123x456_123y123z123c
.
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.
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 zur Fehlerbehebung bei einem Job finden Sie in den INFORMATION_SCHEMA.JOBS*
-Ansichten und den Logs.
Jobs in einem Projekt auflisten
BigQuery speichert einen sechswöchigen Jobverlauf für alle Jobs eines Projekts.
Sie können den Jobverlauf auf folgende Arten aufrufen:
- Google Cloud Console verwenden
- Verwendung des
bq ls
-Befehls. - Durch Aufrufen der API-Methode
jobs.list
- Mithilfe der Clientbibliotheken
Der Jobverlauf enthält Jobs mit den Status RUNNING
und DONE
, dargestellt durch die Statusmeldung SUCCESS
oder FAILURE
.
Erforderliche Berechtigungen
Zum Auflisten aller Jobs, die Sie in einem Projekt erstellt haben, benötigen Sie die IAM-Berechtigung bigquery.jobs.create
. Zum Auflisten aller Jobs, die von allen Nutzern in einem Projekt erstellt wurden, benötigen Sie die IAM-Berechtigung bigquery.jobs.list
. Sie können nur die Details der von Ihnen erstellten Jobs sehen. Die Details zu Jobs, die von anderen Nutzern erstellt wurden, werden entfernt.
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Auflisten von Jobs benötigen:
roles/bigquery.admin
(kann alle Jobs im Projekt auflisten)roles/bigquery.user
(kann alle Jobs im Projekt auflisten)roles/bigquery.jobUser
(kann Ihre Jobs auflisten)
Zum Auflisten aller Jobs in einem Projekt, einschließlich ihrer Details, benötigen Sie die IAM-Berechtigung bigquery.jobs.listAll
.
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie benötigen, um alle Jobs einschließlich ihrer Details aufzulisten:
roles/bigquery.admin
roles/bigquery.resourceAdmin
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Jobs auflisten
BigQuery listet Jobs für alle Standorte auf.
So listen Sie Jobs in einem Projekt auf:
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie auf Projektverlauf, um alle Jobs in einem Projekt aufzulisten. Wenn Sie nicht der Projektinhaber sind, sind Sie möglicherweise nicht berechtigt, alle Jobs für ein Projekt anzeigen zu lassen. Die aktuellsten Jobs werden zuerst aufgeführt.
Klicken Sie auf Persönlicher Verlauf, um Ihre Jobs aufzulisten.
bq
Führen Sie den Befehl bq ls
mit einem der folgenden Flags aus:
--jobs=true
oder-j
gibt Jobs als Ressourcentyp an, der aufgelistet werden soll.- Mit
--all=true
oder-a
werden die Jobs von allen Nutzern angezeigt. Zur ungekürzten Anzeige aller Details für alle Jobs brauchen Sie Berechtigungen des Typsbigquery.jobs.listAll
. --min_creation_time
: listet Jobs nach einem angegebenen Zeitstempelwert auf. Dieser Wert wird als Unix-Epochen-Zeitstempel in Millisekunden dargestellt.--max_creation_time
: listet Jobs vor einem angegebenen Zeitstempelwert auf. Dieser Wert wird als Unix-Epochen-Zeitstempel in Millisekunden dargestellt.--max_results
oder-n
begrenzen die Ergebnisse. Der Standardwert sind 50 Ergebnisse.
bq ls --jobs=true --all=true \ --min_creation_time=MIN_TIME \ --max_creation_time=MAX_TIME \ --max_results=MAX_RESULTS \ PROJECT_ID
Dabei gilt:
MIN_TIME
: Eine Ganzzahl, die einen Zeitstempel der Unix-Epoche in Millisekunden darstellt.MAX_TIME
: Eine Ganzzahl, die einen Zeitstempel der Unix-Epoche in Millisekunden darstellt.MAX_RESULTS
: eine Ganzzahl, die die Anzahl der zurückgegebenen Jobs angibt.PROJECT_ID
: die ID des Projekts, das die aufgelisteten Jobs enthält. Wenn Sie ein Standardprojekt festgelegt haben, brauchen Sie den ParameterPROJECT_ID
nicht anzugeben.
Beispiele
Mit dem folgenden Befehl werden alle Jobs für den aktuellen Nutzer aufgelistet. Zur Ausführung dieses Befehls sind Berechtigungen des Typs bigquery.jobs.list
erforderlich.
bq ls --jobs=true myproject
Mit dem folgenden Befehl werden alle Jobs für alle Nutzer aufgelistet. Zur Ausführung dieses Befehls sind Berechtigungen des Typs bigquery.jobs.listAll
erforderlich.
bq ls --jobs=true --all=true myproject
Mit dem folgenden Befehl werden die zehn letzten Jobs in myproject
aufgelistet:
bq ls --jobs=true --all=true --max_results=10 myproject
Der folgende Befehl listet alle Jobs auf, die vor dem 3. März 2032 um 4:04:00 Uhr gesendet wurden. Dieser Zeitstempel (in Millisekunden) ist gleich dem Ganzzahlenwert 1961899440000
.
bq ls --jobs=true --max_creation_time=1961899440000
API
Rufen Sie jobs.list auf und geben Sie dabei den Parameter projectId
an. Zum Auflisten der Jobs für alle Nutzer legen Sie für den Parameter allUsers
den Wert true
fest. Die Festlegung von allUsers
auf true
erfordert Berechtigungen des Typs bigquery.jobs.listAll
.
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.
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.
Jobs abbrechen
So können Sie Jobs mit dem Status RUNNING
oder PENDING
abbrechen:
- Google Cloud Console verwenden
- Durch Verwendung des
bq cancel
-Befehls. BQ.JOBS.CANCEL
-Systemprozedur in einer SQL-Abfrage verwenden- Durch Aufruf der API-Methode
jobs.cancel
- Mithilfe der Clientbibliotheken
Nicht alle Typen von Jobs können abgebrochen werden. Wenn ein Job nicht abgebrochen werden kann, wird ein Fehler zurückgegeben.
Auch wenn der Job abgebrochen werden kann, ist der Vorgang nicht immer erfolgreich. Der Job kann z. B. abgeschlossen sein, bevor die Anfrage zum Abbrechen gesendet wurde, oder er befindet sich in einer Phase, in der ein Abbrechen nicht möglich ist.
Erforderliche Berechtigungen
Zum Abbrechen eines Jobs benötigen Sie die IAM-Berechtigung bigquery.jobs.update
.
Sie erhalten diese Berechtigung automatisch für die von Ihnen erstellten Jobs.
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Abbrechen eines Jobs benötigen:
roles/bigquery.admin
(zum Abbrechen eines beliebigen Jobs im Projekt)roles/bigquery.user
(zum Abbrechen Ihrer Jobs)roles/bigquery.jobUser
(zum Abbrechen Ihrer Jobs)
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Job abbrechen
Es dauert in der Regel weniger als eine Minute, einen Job abzubrechen.
So brechen Sie einen Job ab:
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie auf Neue Abfrage erstellen und geben Sie eine Abfrage ein.
Klicken Sie zum Ausführen der Abfrage auf Run (Ausführen).
Wenn Sie einen Job abbrechen möchten, klicken Sie auf Abbrechen.
SQL
Verwenden Sie das Systemverfahren BQ.JOBS.CANCEL
:
CALL BQ.JOBS.CANCEL('JOB_ID');
Ersetzen Sie JOB_ID durch die ID des Jobs, den Sie abbrechen.
Wenn Sie sich in einem anderen Projekt, aber in derselben Region befinden, in der der Job abgebrochen wird, müssen Sie auch die Projekt-ID angeben:
CALL BQ.JOBS.CANCEL('PROJECT_ID.JOB_ID');
Dabei gilt:
PROJECT_ID
: die ID des Projekts, das den Job enthält, den Sie abbrechen möchtenJOB_ID
: die ID des Jobs, den Sie abbrechen
Die Prozedur wird sofort zurückgegeben und der Job wird in BigQuery bald abgebrochen. Wenn der Job bereits erfolgreich war oder fehlgeschlagen ist, hat das Verfahren keine Auswirkungen.
bq
Führen Sie den Befehl bq cancel
mit dem Argument JOB_ID
aus. Sie können einen Abbruch und eine umgehende Rückgabe anfragen. Verwenden Sie dazu das Flag --nosync=true
. Standardmäßig warten Abbruchanfragen auf den Abschluss des Vorgangs.
Wenn Sie das Argument JOB_ID
angeben, können Sie die voll qualifizierte ID oder die Kurzform verwenden. In der Google Cloud Console aufgeführte Job-IDs sind beispielsweise voll qualifiziert – sie enthalten das Projekt und den Standort:
my-project-1234:US.bquijob_123x456_123y123z123c
Job-IDs im bq-Befehlszeilentool werden mit der Kurzform aufgelistet – Projekt-ID und Standort sind nicht enthalten:
bquijob_123x456_123y123z123c
Zur Angabe des Jobstandorts geben Sie das Flag --location
an und legen als Wert Ihren Standort fest. Dieses Flag ist optional, wenn Sie die vollständig qualifizierte Job-ID verwenden. Wenn Sie das Flag --location
und die vollständig qualifizierte Job-ID gemeinsam verwenden, wird das Flag --location
ignoriert.
Der folgende Befehl fordert den Jobabbruch an und wartet auf den Abschluss des Vorgangs: Wenn die vollständig qualifizierte Job-ID angegeben ist, wird das Flag --location
ignoriert:
bq --location=LOCATION cancel JOB_ID
Der folgende Befehl fordert den Jobabbruch an und wird sofort zurückgegeben: Wenn die vollständig qualifizierte Job-ID angegeben ist, wird das Flag --location
ignoriert:
bq --location=LOCATION --nosync cancel JOB_ID
Dabei gilt:
LOCATION
(optional): der Name des Standorts, an dem der Job ausgeführt wird. Wenn Sie beispielsweise BigQuery in der Region Tokio verwenden, geben Sie für das Flag den Wertasia-northeast1
an. Mit der Datei.bigqueryrc
können Sie einen Standardwert für den Standort festlegen.JOB_ID
: die ID des Jobs, den Sie abbrechen. Wenn Sie die Job-ID aus der Google Cloud Console kopieren, sind darin die Projekt-ID und der Standort in enthalten. Beispiel:my-project-1234:US.bquijob_123x456_123y123z123c
Beispiele
Der folgende Befehl bricht den Auftrag my-project-1234:US.bquijob_123x456_123y123z123c
ab, der im Projekt my-project-1234
am multiregionalen Standort US
läuft, und wartet auf den Abschluss. Da die vollständig qualifizierte Job-ID verwendet wird, ist das Standort-Flag nicht angegeben.
bq cancel my-project-1234:US.bquijob_123x456_123y123z123c
Der folgende Befehl bricht den Auftrag bquijob_123x456_123y123z123c
ab, der im Projekt my-project-1234
am multiregionalen Standort US
läuft, und wartet auf den Abschluss. Da die Kurzform der Job-ID verwendet wird, ist das Flag --location
angegeben.
bq --location=US cancel bquijob_123x456_123y123z123c
Der folgende Befehl bricht den Auftrag bquijob_123x456_123y123z123c
ab, der im Projekt my-project-1234
am multiregionalen Standort US
läuft, und wird sofort zurückgegeben.
Da die vollständig qualifizierte Job-ID verwendet wird, ist das Flag --location
nicht angegeben.
bq --nosync cancel my-project-1234:US.bquijob_123x456_123y123z123c
API
Rufen Sie jobs.cancel auf und geben Sie die Parameter jobId
und projectId
an. Geben Sie den Parameter location
an und legen Sie als Wert den Standort fest, an dem der Job ausgeführt wird.
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.
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.
Jobmetadaten löschen
Sie können die Metadaten für einen bestimmten Job mit dem bq-Befehlszeilentool und der Python-Clientbibliothek löschen. In BigQuery wird ein Verlauf der Jobs gespeichert, die in den letzten sechs Monaten ausgeführt wurden. Sie können diese Methode verwenden, um vertrauliche Informationen zu entfernen, die möglicherweise in Abfrageanweisungen vorhanden sind. Jobmetadaten können erst gelöscht werden, nachdem der Job abgeschlossen ist. Wenn ein Job untergeordnete Jobs erstellt hat, werden auch die untergeordneten Jobs gelöscht. Das Löschen von untergeordneten Jobs ist nicht zulässig. Nur übergeordnete Jobs oder Jobs oberster Ebene können gelöscht werden.
Erforderliche Berechtigungen
Zum Löschen von Jobmetadaten benötigen Sie die IAM-Berechtigung bigquery.jobs.delete
.
Die vordefinierte IAM-Rolle roles/bigquery.admin
enthält die Berechtigung, die Sie zum Löschen von Jobmetadaten benötigen.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Jobmetadaten löschen
bq
Führen Sie den Befehl bq rm
mit dem Flag -j
und einer Job-ID aus.
Wenn Sie die Job-ID angeben, können Sie die vollständig qualifizierte ID oder die Kurzform verwenden. In der Google Cloud Console aufgeführte Job-IDs sind beispielsweise voll qualifiziert – sie enthalten das Projekt und den Standort:
my-project-1234:US.bquijob_123x456_123y123z123c
Job-IDs im bq-Befehlszeilentool werden mit der Kurzform aufgelistet – Projekt-ID und Standort sind nicht enthalten:
bquijob_123x456_123y123z123c
Zur Angabe des Jobstandorts geben Sie das Flag --location
an und legen als Wert Ihren Standort fest. Dieses Flag ist optional, wenn Sie die vollständig qualifizierte Job-ID verwenden. Wenn Sie das Flag --location
und die vollständig qualifizierte Job-ID gemeinsam verwenden, wird das Flag --location
ignoriert.
Mit dem folgenden Befehl wird ein Job gelöscht:
bq --location=location \ --project_id=project_id \ rm -j job_id
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.
Jobs wiederholen
Ein Job mit derselben Job-ID kann nicht wiederholt werden. Stattdessen müssen Sie einen neuen Job mit der gleichen Konfiguration erstellen. Wenn Sie den neuen Job über die Google Cloud Console oder das bq-Befehlszeilentool senden, wird eine neue Job-ID zugewiesen. Wenn Sie den Job mithilfe der API oder der Clientbibliotheken senden, müssen Sie eine neue Job-ID generieren.
Erforderliche Berechtigungen
Zum Ausführen eines Jobs benötigen Sie die IAM-Berechtigung bigquery.jobs.create
.
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Ausführen eines Jobs benötigen:
roles/bigquery.admin
roles/bigquery.user
roles/bigquery.jobUser
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Job wiederholen
So wiederholen Sie einen Job:
Console
So wiederholen Sie einen Abfragejob:
Rufen Sie die Seite BigQuery auf.
Klicken Sie auf Persönlicher Verlauf, um alle Ihre Jobs aufzulisten. Klicken Sie auf Projektverlauf, um alle Jobs in einem Projekt aufzulisten.
Klicken Sie auf einen Abfragejob, um die Jobdetails zu öffnen.
Klicken Sie zum Wiederholen einer Abfrage auf Als neue Abfrage öffnen.
Klicken Sie auf Ausführen.
So wiederholen Sie einen Ladejob:
Rufen Sie die Seite BigQuery auf.
Klicken Sie auf Persönlicher Verlauf, um alle Ihre Jobs aufzulisten. Klicken Sie auf Projektverlauf, um alle Jobs in einem Projekt aufzulisten.
Klicken Sie auf einen Ladejob, um die Jobdetails zu öffnen.
Klicken Sie auf Ladejob wiederholen, um einen Job zu wiederholen.
bq
Führen Sie den Befehl noch einmal aus. BigQuery generiert automatisch einen Job mit einer neuen Job-ID.
API
Ein Job kann nicht mithilfe eines einzelnen Aufrufs wiederholt werden. Gehen Sie so vor, um einen Job zu wiederholen:
Rufen Sie
jobs.get
auf, um die Ressource für den Job abzurufen, der noch einmal ausgeführt werden soll.Entfernen Sie die Felder id, status und statistics. Ändern Sie das Feld jobId in einen neuen Wert, der von Ihrem Clientcode generiert wird. Ändern Sie die anderen Felder nach Bedarf.
Rufen Sie
jobs.insert
mit der geänderten Ressource und mit der neuen Job-ID auf, um den neuen Job zu starten.