Datasets verwalten
In diesem Dokument wird gezeigt, wie Sie Datasets kopieren, Datasets an einem anderen Standort neu erstellen, Datasets sichern, Datasets löschen, Tabellen aus gelöschten Datasets wiederherstellen und Datasets in BigQuery 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. Als Behelfslösung zum Ändern des Dataset-Namens können Sie ein Dataset kopieren und den Namen des Ziel-Datasets ändern. Zum Verschieben eines Datasets können Sie eine der folgenden Methoden verwenden:
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.
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwaltung von Datasets benötigen:
-
Dataset kopieren (Beta):
-
BigQuery-Administrator (
roles/bigquery.admin
) im Zielprojekt -
BigQuery Data Viewer (
roles/bigquery.dataViewer
) für das Quell-Dataset -
BigQuery Data Editor (
roles/bigquery.dataEditor
) für das Ziel-Dataset
-
BigQuery-Administrator (
- Dataset löschen:
BigQuery Data Owner (
roles/bigquery.dataOwner
) für das Projekt -
Gelöschtes Dataset wiederherstellen:
BigQuery-Nutzer (
roles/bigquery.user
) für das Projekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Datasets erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Zur Verwaltung von Datasets sind die folgenden Berechtigungen erforderlich:
-
Dataset kopieren:
-
bigquery.transfers.update
für das Zielprojekt -
bigquery.jobs.create
für das Zielprojekt -
bigquery.datasets.get
für das Quell- und das Ziel-Dataset -
bigquery.tables.list
für das Quell- und das Ziel-Dataset -
bigquery.datasets.update
für das Ziel-Dataset: -
bigquery.tables.create
für das Ziel-Dataset:
-
-
Dataset löschen:
bigquery.datasets.delete
für das Projektbigquery.tables.delete
für das Projekt
-
Gelöschtes Dataset wiederherstellen:
bigquery.datasets.create
für das Projekt-
bigquery.datasets.get
für das Dataset
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Einführung in IAM.
Datasets kopieren
Sie können ein Dataset, einschließlich partitionierter Daten, innerhalb einer Region oder regionenübergreifend kopieren, ohne Daten in BigQuery zu extrahieren, zu verschieben oder neu zu laden. BigQuery verwendet den BigQuery Data Transfer Service im Backend, um Datasets zu kopieren. Standortüberlegungen zum Übertragen von Daten finden Sie unter Standort und Übertragung von Daten.
Für jede Dataset-Kopiekonfiguration kann jeweils eine Übertragungsausführung aktiv sein. Weitere Übertragungsausführungen werden in die Warteschlange gestellt. Wenn Sie die Google Cloud Console verwenden, können Sie wiederkehrende Kopien planen und eine E-Mail oder Pub/Sub-Benachrichtigungen mit BigQuery Data Transfer Service konfigurieren.
Beschränkungen
Beim Kopieren von Datasets gelten die folgenden Einschränkungen:
Sie können die folgenden Ressourcen nicht aus einem Quell-Dataset kopieren:
- Ansichten.
- Routinen, einschließlich UDFs.
- Externe Tabellen.
- CDC-Tabellen (Change Data Capture), wenn der Kopierjob regionenübergreifend ist. Das Kopieren von CDC-Tabellen innerhalb derselben Region wird unterstützt.
Tabellen, die mit vom Kunden verwalteten verschlüsselten Schlüsseln (CMEK) verschlüsselt sind, wenn der Kopierjob regionenübergreifend ist. Das regionenübergreifende Kopieren von Tabellen mit Standardverschlüsselung wird ebenfalls unterstützt.
Sie können alle verschlüsselten Tabellen innerhalb derselben Region kopieren, einschließlich Tabellen, die mit CMEK verschlüsselt wurden.
Sie können die folgenden Ressourcen nicht als Ziel-Datasets für Kopierjobs verwenden:
- Schreiboptimierter Speicher.
Mit CMEK verschlüsselte Datasets, wenn sich der Kopierjob in den verschiedenen Regionen befindet.
Mit CMEK verschlüsselte Tabellen sind jedoch als Zieltabellen zulässig, wenn innerhalb derselben Region kopiert wird.
Die Mindesthäufigkeit zwischen Kopierjobs beträgt 12 Stunden.
Das Anfügen von Daten an eine partitionierte Tabelle im Ziel-Dataset wird nicht unterstützt.
Wenn eine Tabelle sowohl im Quell-Dataset als auch im Ziel-Dataset vorhanden ist und die Quelltabelle seit der letzten erfolgreichen Kopie nicht geändert wurde, wird sie übersprungen. Die Quelltabelle wird auch dann übersprungen, wenn das Kästchen Zieltabellen überschreiben angeklickt ist.
Beim Kürzen von Tabellen im Ziel-Dataset erkennt der Dataset-Kopierjob keine Änderungen an Ressourcen im Ziel-Dataset, bevor der Kopierjob gestartet wird. Der Dataset-Kopierjob überschreibt alle Daten im Ziel-Dataset, einschließlich der Tabellen und des Schemas.
In der Zieltabelle werden möglicherweise keine Änderungen an den Quelltabellen nach dem Start eines Kopierjobs widergespiegelt.
Das Kopieren eines Datasets wird in BigQuery Omni-Regionen nicht unterstützt.
Wenn Sie ein Dataset in ein Projekt in einem anderen VPC Service Controls-Dienstperimeter kopieren möchten, müssen Sie folgende Regeln für ausgehenden Traffic festlegen:
In der VPC Service Controls-Dienstperimeterkonfiguration des Zielprojekts muss das IAM-Hauptkonto die folgenden Methoden haben:
bigquery.datasets.get
bigquery.tables.list
bigquery.tables.get
,bigquery.tables.getData
In der Konfiguration des VPC Service Controls-Dienstperimeters des Quellprojekts muss für das verwendete IAM-Hauptkonto die Methode auf
All Methods
festgelegt sein.
Dataset kopieren
Wählen Sie eine der folgenden Optionen aus:
Console
Aktivieren Sie den BigQuery Data Transfer Service für Ihr Ziel-Dataset.
Prüfen Sie, ob Sie die erforderlichen Rollen haben.
Wenn Sie Benachrichtigungen über die Übertragungsausführung für Pub/Sub einrichten möchten (Option 2 später in diesen Schritten), benötigen Sie die Berechtigung
pubsub.topics.setIamPolicy
.Wenn Sie nur E-Mail-Benachrichtigungen einrichten, sind keine Pub/Sub-Berechtigungen erforderlich. Weitere Informationen finden Sie unter Ausführungsbenachrichtigungen für BigQuery Data Transfer Service.
Erstellen Sie ein BigQuery-Dataset in derselben Region oder in einer anderen Region als Ihr Quell-Dataset.
Option 1: BigQuery-Kopierfunktion verwenden
Verwenden Sie zum Erstellen einer einmaligen Übertragung die BigQuery-Kopierfunktion:
Rufen Sie die Seite BigQuery auf.
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Klicken Sie im Bereich Dataset-Informationen auf
Kopieren und gehen Sie dann so vor:Erstellen Sie im Feld Dataset entweder ein neues Dataset oder wählen Sie eine vorhandene Dataset-ID aus der Liste aus.
Dataset-Namen müssen innerhalb eines Projekts eindeutig sein. Das Projekt und das Dataset können sich in verschiedenen Regionen befinden, aber für das Kopieren von regionenübergreifenden Datasets werden nicht alle Regionen unterstützt.
Im Feld Speicherort wird der Speicherort des Quell-Datasets angezeigt.
Optional: Klicken Sie auf das Kästchen Zieltabellen überschreiben, um sowohl die Daten als auch das Schema der Zieltabellen mit den Quelltabellen zu überschreiben. Die Quell- und die Zieltabelle müssen dasselbe Partitionierungsschema haben.
Klicken Sie zum Kopieren des Datasets auf Kopieren.
Option 2: BigQuery Data Transfer Service verwenden
Verwenden Sie den BigQuery Data Transfer Service in der Google Cloud Console des Zielprojekts, um wiederkehrende Kopien zu planen und E-Mail- oder Pub/Sub-Benachrichtigungen zu konfigurieren:
Rufen Sie die Seite Datenübertragungen auf.
Klicken Sie auf Übertragung erstellen.
Wählen Sie in der Liste Quelle die Option Dataset-Kopie aus.
Geben Sie im Feld Anzeigename einen Namen für die Übertragungsausführung ein.
Führen Sie im Abschnitt Zeitplanoptionen folgende Schritte aus:
Wählen Sie für Wiederholungshäufigkeit aus, wie oft die Übertragung ausgeführt werden soll:
Wenn Sie Benutzerdefiniert auswählen, geben Sie eine benutzerdefinierte Häufigkeit ein, z. B.
every day 00:00
. Weitere Informationen finden Sie unter Zeitplan formatieren.Geben Sie für Start date and run time (Startdatum und Laufzeit) das Datum und die Uhrzeit für den Start der Übertragung ein. Wenn Sie Jetzt starten auswählen, ist diese Option deaktiviert.
Wählen Sie im Abschnitt Zieleinstellungen ein Ziel-Dataset zum Speichern Ihrer Übertragungsdaten aus. Sie können auch auf NEUES DATASET ERSTELLEN klicken, um ein neues Dataset zu erstellen, bevor Sie es für diese Übertragung auswählen.
Geben Sie im Abschnitt Details zur Datenquelle die folgenden Informationen ein:
- Geben Sie unter Quell-Dataset die ID des Datasets ein, das Sie kopieren möchten.
- Geben Sie unter Quellprojekt die Projekt-ID Ihres Quell-Datasets ein.
Klicken Sie auf das Kästchen Zieltabellen überschreiben, um sowohl die Daten als auch das Schema der Zieltabellen mit den Quelltabellen zu überschreiben. Die Quell- und die Zieltabelle müssen dasselbe Partitionierungsschema haben.
Wählen Sie im Menü Dienstkonto ein Dienstkonto aus den Dienstkonten aus, die mit Ihrem Google Cloud-Projekt verknüpft sind. Sie können Ihre Übertragung mit einem Dienstkonto verknüpfen, anstatt Ihre Nutzeranmeldedaten zu verwenden. Weitere Informationen zur Verwendung von Dienstkonten mit Datenübertragungen finden Sie unter Dienstkonten verwenden.
- Wenn Sie sich mit einer föderierten Identität angemeldet haben, ist ein Dienstkonto zum Erstellen einer Übertragung erforderlich. Wenn Sie sich mit einem Google-Konto angemeldet haben, ist ein Dienstkonto für die Übertragung optional.
- Das Dienstkonto muss die erforderlichen Rollen haben.
Optional: Gehen Sie im Abschnitt Benachrichtigungsoptionen so vor:
- Klicken Sie auf die Ein/Aus-Schaltfläche, um E-Mail-Benachrichtigungen zu aktivieren. Wenn Sie diese Option aktivieren, erhält der Inhaber der Übertragungskonfiguration eine E-Mail-Benachrichtigung, wenn eine Übertragung fehlschlägt.
- Klicken Sie zum Aktivieren von Pub/Sub-Benachrichtigungen auf die Ein/Aus-Schaltfläche und wählen Sie entweder ein Thema aus der Liste aus oder klicken Sie auf Thema erstellen. Mit dieser Option werden Pub/Sub-Ausführungsbenachrichtigungen für Ihre Übertragung konfiguriert.
Klicken Sie auf Speichern.
bq
Aktivieren Sie den BigQuery Data Transfer Service für Ihr Ziel-Dataset.
Prüfen Sie, ob Sie die erforderlichen Rollen haben.
Zum Erstellen eines BigQuery-Datasets verwenden Sie den Befehl
bq mk
mit dem Dataset-Erstellungs-Flag--dataset
und dem Flaglocation
:bq mk \ --dataset \ --location=LOCATION \ PROJECT:DATASET
Dabei gilt:
LOCATION
: der Standort, an den Sie das Dataset kopieren möchtenPROJECT
: die Projekt-ID Ihres Ziel-DatasetsDATASET
: der Name des Ziel-Datasets
Verwenden Sie zum Kopieren eines Datasets den Befehl
bq mk
mit dem Flag--transfer_config
für die Übertragungserstellung und dem Flag--data_source
. Sie müssen das Flag--data_source
aufcross_region_copy
setzen. Eine vollständige Liste der gültigen Werte für--data_source
finden Sie unter transfer-config-Flags in der Referenz zum bq-Befehlszeilentool.bq mk \ --transfer_config \ --project_id=PROJECT \ --data_source=cross_region_copy \ --target_dataset=DATASET \ --display_name=NAME \ --service_account_name=SERCICE_ACCOUNT \ --params='PARAMETERS'
Ersetzen Sie Folgendes:
NAME
: der Anzeigename für den Kopierjob oder die ÜbertragungskonfigurationSERVICE_ACCOUNT
ist der Name des Dienstkontos, der zur Authentifizierung der Übertragung verwendet wird. Das Dienstkonto sollte zum selbenproject_id
gehören, das für die Erstellung der Übertragung verwendet wurde, und sollte alle erforderlichen Berechtigungen haben.PARAMETERS
: die Parameter für die Übertragungskonfiguration im JSON-FormatDie Parameter für die Konfiguration einer Dataset-Kopie umfassen Folgendes:
source_dataset_id
: die ID des Quell-Datasets, das Sie kopieren möchtensource_project_id
: die ID des Projekts, in dem sich das Quell-Dataset befindetoverwrite_destination_table
: ein optionales Flag, mit dem Sie die Tabellen einer vorherigen Kopie kürzen und alle Daten aktualisieren können
Die Quell- und die Zieltabelle müssen dasselbe Partitionierungsschema haben.
Die folgenden Beispiele zeigen die Formatierung der Parameter entsprechend der Umgebung Ihres Systems:
Linux: Verwenden Sie einfache Anführungszeichen, um den JSON-String einzuschließen. Beispiel:
'{"source_dataset_id":"mydataset","source_project_id":"mysourceproject","overwrite_destination_table":"true"}'
Windows-Befehlszeile: Verwenden Sie doppelte Anführungszeichen, um den JSON-String einzuschließen, und maskieren Sie doppelte Anführungszeichen im String mit einem umgekehrten Schrägstrich. Beispiel:
"{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}"
PowerShell: Verwenden Sie einfache Anführungszeichen, um den JSON-String einzuschließen und maskieren Sie doppelte Anführungszeichen im String mit einem umgekehrten Schrägstrich. Beispiel:
'{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}'
Mit dem folgenden Befehl erstellen Sie beispielsweise eine Dataset-Kopierkonfiguration namens
My Transfer
mit einem Ziel-Datasetmydataset
sowie ein Projekt mit der IDmyproject
.bq mk \ --transfer_config \ --project_id=myproject \ --data_source=cross_region_copy \ --target_dataset=mydataset \ --display_name='My Transfer' \ --params='{ "source_dataset_id":"123_demo_eu", "source_project_id":"mysourceproject", "overwrite_destination_table":"true" }'
API
Aktivieren Sie den BigQuery Data Transfer Service für Ihr Ziel-Dataset.
Prüfen Sie, ob Sie die erforderlichen Rollen haben.
Rufen Sie zum Erstellen eines BigQuery-Datasets die Methode
datasets.insert
mit einer definierten Dataset-Ressource auf.Zum Kopieren eines Datasets verwenden Sie die Methode
projects.locations.transferConfigs.create
und geben eine Instanz der RessourceTransferConfig
an.
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.
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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip install google-cloud-bigquery-datatransfer
. Erstellen Sie dann eine Übertragungskonfiguration, um das Dataset zu kopieren.
Sie können das vorherige Dataset löschen, um zusätzliche Speicherkosten zu vermeiden.
Dataset-Kopierjobs aufrufen
So rufen Sie den Status und die Details eines Dataset-Kopierjobs in der Google Cloud Console auf:
Rufen Sie in der Google Cloud Console die Seite Datenübertragungen auf.
Wählen Sie eine Übertragung aus, für die Sie die Übertragungsdetails anzeigen möchten, und gehen Sie dann so vor:
Wählen Sie auf der Seite Übertragungsdetails eine Übertragungsausführung aus.
Klicken Sie zum Aktualisieren auf
Aktualisieren.
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, der sich am selben Standort wie das Dataset oder an einem Standort im Dataset befindet. Wenn sich Ihr Dataset zum Beispiel am multiregionalen Standort
EU
befindet, können Sie Ihre Daten in den Standorteurope-west1
Belgien exportieren, der Teil der EU ist.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 Exportjobs.
-
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
US
in 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 Cloud Composer 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 Google Cloud Console löschen, werden die Tabellen und Ansichten im Dataset, einschließlich ihrer Daten, gelöscht. Wenn Sie ein Dataset mit dem bq-Befehlszeilentool löschen, müssen Sie das Flag -r
verwenden, um die Tabellen und Ansichten zu löschen.
Wählen Sie eine der folgenden Optionen aus, um ein Dataset zu löschen:
Console
Rufen Sie die Seite BigQuery auf.
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Maximieren Sie die Option
Aktionen und klicken Sie auf Löschen.Geben Sie im Dialogfeld Dataset löschen den Wert
delete
in 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:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
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
Dabei gilt:
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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip 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:
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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip 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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip 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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip 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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip 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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip 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.
Installieren Sie den Python-Client für die BigQuery Data Transfer API mitpip 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 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.table1
zum Zeitpunkt1418864998000
in das neue Dataset:bq cp originaldataset.table1@1418864998000 mydataset.mytable
Um die Namen der nicht leeren Tabellen zu ermitteln, die sich im gelöschten Dataset befanden, fragen Sie die Ansicht
INFORMATION_SCHEMA.TABLE_STORAGE
des Datasets innerhalb des Zeitreisefensters ab.
Datasets wiederherstellen
Sie können ein Dataset in dem Zustand wiederherstellen, in dem es sich beim Löschen befand. Sie können nur Datasets wiederherstellen, die sich innerhalb Ihres Zeitreisefensters befinden. Diese Wiederherstellung umfasst alle Objekte, die im Dataset enthalten waren, die Dataset-Attribute und die Sicherheitseinstellungen. Informationen zu Ressourcen, die nicht wiederhergestellt werden, finden Sie unter Dataset-Einschränkungen wiederherstellen.
Dataset-Einschränkungen wiederherstellen
- Wiederhergestellte Datasets können auf Sicherheitshauptkonten verweisen, die nicht mehr vorhanden sind.
- Verweise auf ein gelöschtes Dataset in verknüpften Datasets werden durch das Wiederherstellen nicht wiederhergestellt. Abonnenten müssen ein neues Abo abschließen, um die Links manuell wiederherstellen zu können.
- Unternehmens-Tags werden nicht durch Wiederherstellen wiederhergestellt.
- Sie müssen materialisierte Ansichten manuell aktualisieren und autorisierte Ansichten sowie autorisierte Datasets neu autorisieren. und autorisierte Routinen. Wenn autorisierte Ressourcen (Ansichten, Datasets und Routinen) gelöscht werden, kann die Autorisierung bis zu 24 Stunden dauern. Wenn Sie also ein Dataset mit einer autorisierten Ressource weniger als 24 Stunden nach dem Löschen wiederherstellen, ist möglicherweise keine erneute Autorisierung erforderlich. Als Best Practice sollten Sie die Autorisierung nach dem Wiederherstellen von Ressourcen immer überprüfen.
Dataset wiederherstellen
Wählen Sie eine der folgenden Optionen aus, um ein Dataset wiederherzustellen:
SQL
Verwenden Sie die DDL-Anweisung UNDROP SCHEMA
:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
UNDROP SCHEMA
DATASET_ID
;Ersetzen Sie
DATASET_ID
durch das Dataset, das Sie wiederherstellen möchten.Geben Sie den Standort des Datasets an, das Sie wiederherstellen möchten.
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen ausführen.
API
Rufen Sie die Methode datasets.undelete
auf.
Wenn Sie ein Dataset wiederherstellen, können folgende Fehler auftreten:
ALREADY_EXISTS
: Ein Dataset mit demselben Namen ist bereits in der Region vorhanden, in der Sie versucht haben, die Daten wiederherzustellen. Die Option „Wiederherstellen“ kann nicht zum Überschreiben oder Zusammenführen von Datasets verwendet werden.NOT_FOUND
: Das Dataset, das Sie wiederherstellen möchten, hat sein Zeitreisefenster überschritten oder es hat es nie gegeben.ACCESS_DENIED
: Sie haben nicht die erforderlichen Berechtigungen, um dieses Dataset wiederherzustellen.
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 Nutzung von Kopierjobs abrufen.
Preise
Gebühren für ausgehenden Datenverkehr, der zwischen Regionen oder Multiregionen kopiert wird, werden zu den gleichen Preisen abgerechnet wie die Preise für die Datenextraktion.
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.