Datasets verwalten
In diesem Dokument wird beschrieben, wie Sie Datasets an einem anderen Standort neu erstellen, Datasets sichern, Datasets löschen und Tabellen aus gelöschten Datasets in BigQuery wiederherstellen. Informationen zum Wiederherstellen (oder Wiederherstellen) eines gelöschten Datasets finden Sie unter Gelöschte Datasets wiederherstellen.
Als BigQuery-Administrator können Sie den Zugriff auf Tabellen und Ansichten steuern, die von Analysten verwendet werden. Weitere Informationen zu Datasets finden Sie unter Einführung in Datasets.
Sie können den Namen eines vorhandenen Datasets nicht ändern oder ein Dataset nach der Erstellung nicht verschieben.
Erforderliche Rollen
In diesem Abschnitt werden die Rollen und Berechtigungen beschrieben, die Sie zum Verwalten von Datasets benötigen. Wenn sich das Quell- oder Ziel-Dataset in dem Projekt befindet, das Sie zum Kopieren verwenden, benötigen Sie keine zusätzlichen Berechtigungen oder Rollen für dieses Dataset.
Dataset löschen
Weisen Sie diese Rollen zu, um ein Dataset zu löschen.
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery-Dateninhaber (roles/bigquery.dataOwner) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Löschen von Datasets benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Löschen von Datasets erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Löschen von Datasets erforderlich:
bigquery.datasets.deletefür das Projekt-
bigquery.tables.deletefür das Projekt
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Datasets an einem anderen Standort neu erstellen
So verschieben Sie ein Dataset manuell von einem Standort an einen anderen:
-
Exportieren Sie die Daten aus Ihren BigQuery-Tabellen in einen Cloud Storage-Bucket.
Beim Exportieren von Daten aus BigQuery fallen keine Gebühren an. Dies ist jedoch anders, wenn Sie die exportierten Daten in Cloud Storage speichern. BigQuery-Exporte unterliegen den Limits für Extrahierungsjobs.
-
Kopieren oder verschieben Sie die Daten aus Ihrem Cloud Storage-Export-Bucket in einen neuen Bucket, den Sie am Zielspeicherort erstellt haben. Wenn Sie zum Beispiel Ihre Daten aus der Multiregion
USin dieasia-northeast1-Region „Tokio” verschieben, werden die Daten in einen Bucket übertragen, den Sie in Tokio erstellt haben. Weitere Informationen zum Übertragen von Cloud Storage-Objekten finden Sie in der Cloud Storage-Dokumentation unter Objekte kopieren, umbenennen und verschieben.Bei der Übertragung von Daten zwischen Regionen fallen in Cloud Storage Gebühren für ausgehenden Netzwerk-Traffic an.
-
Erstellen Sie am neuen Standort ein neues BigQuery-Dataset und laden Sie dann Ihre Daten aus dem Cloud Storage-Bucket in das neue Dataset.
Beim Laden der Daten in BigQuery fallen keine Kosten an. Das gilt jedoch nicht für das Speichern von Daten in Cloud Storage. Hier werden Gebühren berechnet, bis Sie die Daten oder den Bucket löschen. Es fallen außerdem Kosten an, wenn Sie die Daten in BigQuery speichern, nachdem sie geladen wurden. Das Laden von Daten in BigQuery unterliegt den Limits für Ladejobs.
Sie können auch Managed Service for Apache Airflow verwenden, um große Datasets programmatisch zu verschieben und zu kopieren.
Weitere Informationen zur Verwendung von Cloud Storage zum Speichern und Verschieben großer Datasets finden Sie unter Cloud Storage mit Big Data verwenden.
Datasets sichern
Informationen zum Steuern des Zugriffs auf Datasets in BigQuery finden Sie unter Zugriff auf Datasets steuern. Informationen zur Datenverschlüsselung finden Sie unter Verschlüsselung inaktiver Daten.
Datasets löschen
Wenn Sie ein Dataset über die Cloud de Confiance Console löschen, werden die Tabellen und Ansichten im Dataset, einschließlich ihrer Daten, automatisch gelöscht. Wenn Sie jedoch eine andere Methode verwenden, müssen Sie das Dataset entweder zuerst leeren oder entsprechende Flags, Parameter oder Keywords angeben, die das Entfernen des Datasetinhalts erzwingen.
Wenn Sie versuchen, ein nicht leeres Dataset ohne die entsprechenden Flags oder Parameter zu löschen, schlägt der Vorgang mit dem folgenden Fehler fehl:
Dataset project:dataset is still in use.
Wenn Sie ein Dataset löschen, wird ein Audit-Log-Eintrag für das Löschen des Datasets erstellt. Es werden keine separaten Logeinträge für jede gelöschte Tabelle im Dataset erstellt.
Wählen Sie eine der folgenden Optionen aus, um ein Dataset zu löschen:
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie im linken Bereich auf Explorer:

Maximieren Sie im Bereich Explorer Ihr Projekt, klicken Sie auf Datasets und dann auf das Dataset.
Klicken Sie im Detailbereich auf Löschen.
Geben Sie im Dialogfeld Dataset löschen den Wert
deletein das Feld ein und klicken Sie auf Löschen.
SQL
Zum Löschen eines Datasets verwenden Sie die DROP SCHEMA-DDL-Anweisung.
Im folgenden Beispiel wird ein Dataset mit dem Namen mydataset erstellt:
Rufen Sie in der Cloud de Confiance Console die Seite BigQuery auf.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
DROP SCHEMA IF EXISTS mydataset;
Standardmäßig funktioniert dies nur mit dem Löschen eines leeren Datasets. Wenn Sie ein Dataset und dessen gesamten Inhalt löschen möchten, verwenden Sie das Schlüsselwort
CASCADE:DROP SCHEMA IF EXISTS mydataset CASCADE;
Klicken Sie auf Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
bq
Verwenden Sie den Befehl bq rm mit dem Flag --dataset oder -d, das optional ist.
Wenn Ihr Dataset Tabellen enthält, müssen Sie das Flag -r verwenden, um alle Tabellen im Dataset zu entfernen. Wenn Sie das Flag -r verwenden, können Sie das Flag --dataset oder -d weglassen.
Nachdem Sie den Befehl ausgeführt haben, fordert das System eine Bestätigung an. Sie können die Bestätigung mit dem Flag -f überspringen.
Wenn Sie eine Tabelle in einem anderen Projekt als Ihrem Standardprojekt löschen, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu: PROJECT_ID:DATASET.
bq rm -r -f -d PROJECT_ID:DATASET
Ersetzen Sie dabei Folgendes:
PROJECT_ID: Ihre Projekt-ID.DATASET: der Name des zu löschenden Datasets
Beispiele:
Mit dem folgenden Befehl entfernen Sie ein Dataset mit dem Namen mydataset und alle darin enthaltenen Tabellen aus Ihrem Standardprojekt. Der Befehl verwendet das Flag -d.
bq rm -r -d mydataset
Geben Sie bei entsprechender Aufforderung y ein und drücken Sie die Eingabetaste.
Geben Sie den folgenden Befehl ein, um mydataset und alle darin enthaltenen Tabellen aus myotherproject zu entfernen. Für den Befehl wird nicht das optionale Flag -d verwendet.
Das Flag -f wird zum Überspringen der Bestätigung verwendet.
bq rm -r -f myotherproject:mydataset
Mit dem Befehl bq ls können Sie prüfen, ob das Dataset gelöscht wurde.
API
Rufen Sie die Methode datasets.delete auf, um das Dataset zu löschen. Setzen Sie dann den Parameter deleteContents auf true, um die darin enthaltenen Tabellen zu löschen.
C#
Im folgenden Codebeispiel wird ein leeres Dataset gelöscht.
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von C# 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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
pip install google-cloud-bigquery-datatransfer. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
Im folgenden Codebeispiel werden ein Dataset und sein gesamter Inhalt gelöscht:
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
pip install google-cloud-bigquery-datatransfer. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
Java
Im folgenden Codebeispiel wird ein leeres Dataset gelöscht.
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
pip install google-cloud-bigquery-datatransfer. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
Im folgenden Codebeispiel werden ein Dataset und sein gesamter Inhalt gelöscht:
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
pip install google-cloud-bigquery-datatransfer. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
pip install google-cloud-bigquery-datatransfer. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
pip install google-cloud-bigquery-datatransfer. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
Ruby
Im folgenden Codebeispiel wird ein leeres Dataset gelöscht.
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.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
pip install google-cloud-bigquery-datatransfer. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
Im folgenden Codebeispiel werden ein Dataset und sein gesamter Inhalt gelöscht:
Tabellen aus gelöschten Datasets wiederherstellen
Sie können Tabellen aus einem gelöschten Dataset wiederherstellen, die sich im Zeitstempelfenster des Datasets befinden. Informationen zum Wiederherstellen des gesamten Datasets finden Sie unter Gelöschte Datasets wiederherstellen.
- Erstellen Sie ein Dataset mit dem gleichen Namen und am selben Speicherort wie das Original.
- Wählen Sie einen Zeitstempel von vor dem Löschen des ursprünglichen Datasets aus. Verwenden Sie dazu ein Format mit den Millisekunden seit der Epoche, z. B.
1418864998000. Kopieren Sie die Tabelle
originaldataset.table1zum Zeitpunkt1418864998000in das neue Dataset:bq cp originaldataset.table1@1418864998000 mydataset.mytable
Wenn Sie die Namen der nicht leeren Tabellen im gelöschten Dataset ermitteln möchten, fragen Sie die
INFORMATION_SCHEMA.TABLE_STORAGE-Ansicht des Datasets innerhalb des Zeitstempelfensters ab.
Gelöschte Datasets wiederherstellen
Informationen zum Wiederherstellen (oder Rückgängigmachen des Löschens) eines gelöschten Datasets finden Sie unter Gelöschte Datasets wiederherstellen.
Kontingente
Informationen zu Kopierkontingenten finden Sie unter Kopierjobs.
Die Verwendung für Exportjobs ist in INFORMATION_SCHEMA verfügbar. Informationen zum Abfragen der Ansicht INFORMATION_SCHEMA.JOBS finden Sie unter Ansicht JOBS.
Preise
Preisinformationen zum Kopieren von Datasets finden Sie unter Preise für die Datenreplikation.
BigQuery sendet komprimierte Daten beim regionenübergreifenden Kopieren, sodass die in Rechnung gestellten Daten möglicherweise unter der tatsächlichen Größe Ihres Datasets liegen. Weitere Informationen finden Sie unter BigQuery-Preise.