Tabellen verwalten
In diesem Dokument wird beschrieben, wie in BigQuery Tabellen verwaltet werden. Sie haben folgende Möglichkeiten zum Verwalten Ihrer BigQuery-Tabellen:
- Tabellenattribute aktualisieren:
- Tabelle umbenennen (kopieren)
- Tabelle kopieren
- Tabelle löschen
- Gelöschte Tabelle wiederherstellen
Weitere Informationen zum Erstellen und Verwenden von Tabellen, darunter auch zum Abrufen von Tabelleninformationen, Auflisten von Tabellen und Steuern des Zugriffs auf Tabellendaten, finden Sie unter Tabellen erstellen und verwenden.
Hinweis
Weisen Sie IAM-Rollen (Identity and Access Management) zu, die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument gewähren. Die Berechtigungen, die zum Ausführen einer Aufgabe erforderlich sind (sofern zutreffend), werden im Abschnitt „Erforderliche Berechtigungen“ der Aufgabe aufgelistet.
Tabellenattribute aktualisieren
Sie können die folgenden Elemente einer Tabelle aktualisieren:
Erforderliche Berechtigungen
Bitten Sie Ihren Administrator, Ihnen für eine Tabelle die IAM-Rolle Data Editor (roles/bigquery.dataEditor
) zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Aktualisieren von Tabellenattributen benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Aktualisieren von Tabellenattributen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Aktualisieren von Tabellenattributen erforderlich:
-
bigquery.tables.update
-
bigquery.tables.get
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Wenn Sie die Berechtigung bigquery.datasets.create
haben, können Sie außerdem die Attribute der Tabellen für die Datasets aktualisieren, die Sie erstellen.
Die Beschreibung einer Tabelle aktualisieren
Sie können die Beschreibung einer Tabelle auf folgenden Wegen aktualisieren:
- Google Cloud Console verwenden
- Durch Senden einer
ALTER TABLE
-DDL-Anweisung (Data Definition Language, Datendefinitionssprache) - Den Befehl
bq update
des bq-Befehlszeilentools verwenden - Durch Aufruf der API-Methode
tables.patch
- Mithilfe der Clientbibliotheken
So aktualisieren Sie die Beschreibung einer Tabelle:
Console
Sie können keine Beschreibung hinzufügen, wenn Sie eine Tabelle mit der Google Cloud Console erstellen. Nachdem die Tabelle erstellt wurde, können Sie auf der Seite Details eine Beschreibung hinzufügen.
Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann die Tabelle aus.
Klicken Sie im Detailbereich auf Details.
Klicken Sie im Abschnitt Description (Beschreibung) auf das Stiftsymbol, um die Beschreibung zu bearbeiten.
Geben Sie eine Beschreibung in das Feld ein und klicken Sie zum Speichern auf Aktualisieren.
SQL
Verwenden Sie die Anweisung ALTER TABLE SET OPTIONS
.
Im folgenden Beispiel wird die Beschreibung einer Tabelle mit dem Namen mytable
aktualisiert:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
ALTER TABLE mydataset.mytable SET OPTIONS ( description = 'Description of mytable');
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen ausführen.
bq
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie den Befehl
bq update
mit dem Flag--description
aus. Wenn Sie eine Tabelle in einem anderen Projekt als Ihrem Standardprojekt aktualisieren, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu:project_id:dataset
.bq update \ --description "description" \ project_id:dataset.table
Ersetzen Sie Folgendes:
description
: der Text zur Beschreibung der Tabelle in Anführungszeichenproject_id
: Ihre Projekt-IDdataset
: der Name des Datasets, das die zu aktualisierende Tabelle enthälttable
: der Name der zu aktualisierenden Tabelle
Beispiele:
Geben Sie den folgenden Befehl ein, um die Beschreibung der Tabelle
mytable
im Datasetmydataset
in „Description of mytable” (Beschreibung von mytable) zu ändern. Das Datasetmydataset
befindet sich in Ihrem Standardprojekt.bq update --description "Description of mytable" mydataset.mytable
Geben Sie den folgenden Befehl ein, um die Beschreibung der Tabelle
mytable
im Datasetmydataset
in „Description of mytable” (Beschreibung von mytable) zu ändern. Das Datasetmydataset
befindet sich im Projektmyotherproject
, nicht in Ihrem Standardprojekt.bq update \ --description "Description of mytable" \ myotherproject:mydataset.mytable
API
Rufen Sie die Methode tables.patch
auf und verwenden Sie das Attribut description
in der Tabellenressource, um die Beschreibung der Tabelle zu aktualisieren. Da die Methode tables.update
die gesamte Tabellenressource ersetzt, ist die Methode tables.patch
zu bevorzugen.
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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung einrichten.
Konfigurieren Sie das Attribut Table.description und rufen Sie Client.update_table() auf, um die Aktualisierung an die API zu senden.Ablaufzeit einer Tabelle aktualisieren
Sie können Standardablaufzeiten für Tabellen auf Dataset-Ebene festlegen oder die Ablaufzeit bei Erstellung der Tabelle festlegen. Die Ablaufzeit einer Tabelle wird auch als Gültigkeitsdauer oder TTL (Time To Live) bezeichnet.
Wenn eine Tabelle abläuft, wird sie mit allen enthaltenen Daten gelöscht. Bei Bedarf können Sie die abgelaufene Tabelle innerhalb des für das Dataset angegebenen Zeitreisefensters wiederherstellen. Weitere Informationen finden Sie unter Gelöschte Tabellen wiederherstellen.
Wenn Sie die Ablaufzeit einer Tabelle beim Erstellen festlegen, wird die Standardablaufzeit für Tabellen des Datasets ignoriert. Wenn Sie keine Standardablaufzeit für Tabellen auf Dataset-Ebene und keine Ablaufzeit beim Erstellen der Tabelle festlegen, läuft die Tabelle nie ab und Sie müssen die Tabelle manuell löschen.
Nachdem die Tabelle erstellt wurde, können Sie die Ablaufzeit jederzeit auf folgenden Wegen aktualisieren:
- Google Cloud Console verwenden
- Durch Senden einer
ALTER TABLE
-DDL-Anweisung (Data Definition Language, Datendefinitionssprache) - Den Befehl
bq update
des bq-Befehlszeilentools verwenden - Durch Aufruf der API-Methode
tables.patch
- Mithilfe der Clientbibliotheken
So aktualisieren Sie die Ablaufzeit einer Tabelle:
Console
Sie können keine Ablaufzeit hinzufügen, wenn Sie eine Tabelle mit der Google Cloud Console erstellen. Nachdem eine Tabelle erstellt wurde, können Sie den Ablauf der Tabelle auf der Seite Details hinzufügen oder aktualisieren.
Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann die Tabelle aus.
Klicken Sie im Detailbereich auf Details.
Klicken Sie auf das Stiftsymbol neben Tabelleninformationen.
Wählen Sie bei Tabellenablauf die Option Datum angeben aus. Wählen Sie dann mit dem Kalender-Widget weiter unten das Ablaufdatum aus.
Klicken Sie zum Speichern auf Aktualisieren. Die aktualisierte Ablaufzeit wird im Abschnitt Tabelleninformationen angezeigt.
SQL
Verwenden Sie die Anweisung ALTER TABLE SET OPTIONS
.
Im folgenden Beispiel wird die Ablaufzeit einer Tabelle mit dem Namen mytable
aktualisiert:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
ALTER TABLE mydataset.mytable SET OPTIONS ( -- Sets table expiration to timestamp 2025-02-03 12:34:56 expiration_timestamp = TIMESTAMP '2025-02-03 12:34:56');
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen ausführen.
bq
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie den Befehl
bq update
mit dem Flag--expiration
aus. Wenn Sie eine Tabelle in einem anderen Projekt als Ihrem Standardprojekt aktualisieren, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu:project_id:dataset
.bq update \ --expiration integer \
project_id:dataset.table
Ersetzen Sie Folgendes:
integer
: die Standardlebensdauer der Tabelle in Sekunden. Der Mindestwert beträgt 3.600 Sekunden (eine Stunde). Die Ablaufzeit entspricht der aktuellen Zeit plus dem ganzzahligen Wert. Wenn Sie0
angeben, wird der Tabellenablauf entfernt und die Tabelle läuft nie ab. Tabellen ohne Ablauf müssen manuell gelöscht werden.project_id
: Ihre Projekt-ID.dataset
: der Name des Datasets, das die zu aktualisierende Tabelle enthält.table
: der Name der zu aktualisierenden Tabelle.
Beispiele:
Geben Sie den folgenden Befehl ein, um die Ablaufzeit der Tabelle
mytable
im Datasetmydataset
auf 5 Tage (432000 Sekunden) zu aktualisieren. Das Datasetmydataset
befindet sich in Ihrem Standardprojekt.bq update --expiration 432000 mydataset.mytable
Geben Sie den folgenden Befehl ein, um die Ablaufzeit der Tabelle
mytable
im Datasetmydataset
auf 5 Tage (432000 Sekunden) zu aktualisieren. Das Datasetmydataset
befindet sich im Projektmyotherproject
, nicht in Ihrem Standardprojekt.bq update --expiration 432000 myotherproject:mydataset.mytable
API
Rufen Sie die Methode tables.patch
auf und verwenden Sie das Attribut expirationTime
in der Tabellenressource, um die Ablaufzeit der Tabelle in Millisekunden zu ändern. Da die Methode tables.update
die gesamte Tabellenressource ersetzt, ist die Methode tables.patch
zu bevorzugen.
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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung einrichten.
Konfigurieren Sie das Attribut Table.expires und rufen Sie Client.update_table() auf, um die Aktualisierung an die API zu senden.So aktualisieren Sie die Standardablaufzeit für Dataset-Partitionen:
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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung einrichten.
Rundungsmodus einer Tabelle aktualisieren
Sie können den Standard-Rundungsmodus einer Tabelle mit der DDL-Anweisung ALTER TABLE SET OPTIONS
aktualisieren.
Im folgenden Beispiel wird der Standard-Rundungsmodus für mytable
auf ROUND_HALF_EVEN
aktualisiert:
ALTER TABLE mydataset.mytable SET OPTIONS ( default_rounding_mode = "ROUND_HALF_EVEN");
Wenn Sie das Feld NUMERIC
oder BIGNUMERIC
zu einer Tabelle hinzufügen und keinen Rundungsmodus angeben, wird der Rundungsmodus automatisch auf den Standard-Rundungsmodus der Tabelle eingestellt. Durch das Ändern des Standardmodus für Rundungen einer Tabelle wird der Rundungsmodus vorhandener Felder nicht geändert.
Schemadefinition einer Tabelle aktualisieren
Weitere Informationen zum Aktualisieren der Schemadefinition einer Tabelle finden Sie unter Tabellenschemas ändern.
Tabelle umbenennen
Sie können eine Tabelle mit der Anweisung ALTER TABLE RENAME TO
umbenennen, nachdem sie erstellt wurde.
Im folgenden Beispiel wird mytable
in mynewtable
umbenannt:
ALTER TABLE mydataset.mytable
RENAME TO mynewtable;
Einschränkungen beim Umbenennen von Tabellen
- Wenn Sie eine Tabelle umbenennen möchten, die Daten-Streaming enthält, müssen Sie das Streaming beenden und warten, bis BigQuery anzeigt, dass das Streaming nicht verwendet wird.
- Eine Tabelle kann normalerweise innerhalb von 72 Stunden nach dem letzten Streamingvorgang umbenannt werden, aber es kann länger dauern.
- Tabellen-ACLs und Zeilenzugriffsrichtlinien werden nach dem Umbenennen einer Tabelle nicht immer beibehalten.
- Sie können nicht gleichzeitig eine Tabelle umbenennen und eine DML-Anweisung dafür ausführen.
- Durch das Umbenennen einer Tabelle werden alle Data Catalog-Tags aus der Tabelle entfernt.
- Externe Tabellen können nicht umbenannt werden.
Tabelle kopieren
In diesem Abschnitt wird beschrieben, wie Sie eine vollständige Kopie einer Tabelle erstellen. Informationen zu anderen Arten von Tabellenkopien finden Sie unter Tabellenklone und Tabellen-Snapshots.
Sie können eine Tabelle auf folgenden Wegen kopieren:
- Google Cloud Console verwenden.
- Führen Sie den Befehl
bq cp
aus. - Eine
CREATE TABLE COPY
-DDL-Anweisung (Data Definition Language, Datendefinitionssprache) verwenden - Rufen Sie die API-Methode jobs.insert auf und konfigurieren Sie einen
copy
-Job. - Verwenden Sie die Client-Bibliotheken.
Einschränkungen beim Kopieren von Tabellen
Tabellenkopierjobs unterliegen den folgenden Einschränkungen:
- Für die Zieltabelle gelten beim Kopieren dieselben Namenskonventionen wie beim Erstellen.
- Tabellenkopien unterliegen den BigQuery-Limits für Kopierjobs.
- Die Google Cloud Console unterstützt das Kopieren von jeweils nur einer Tabelle gleichzeitig. Sie können eine vorhandene Tabelle im Ziel-Dataset nicht überschreiben. Die Tabelle muss im Ziel-Dataset einen eindeutigen Namen haben.
- Das Kopieren mehrerer Quelltabellen in eine Zieltabelle wird von der Google Cloud Console nicht unterstützt.
- Wenn Sie mehrere Quelltabellen mit der API, dem bq-Befehlszeilentool oder den Clientbibliotheken in eine Zieltabelle kopieren, müssen alle Quelltabellen identische Schemas haben, einschließlich Partitionierung oder Clustering.
- Die Zeit, die BigQuery zum Kopieren von Tabellen benötigt, kann in verschiedenen Ausführungen erheblich variieren, da der zugrunde liegende Speicher dynamisch verwaltet wird.
- Sie können eine Quelltabelle nicht kopieren und an eine Zieltabelle anfügen, die mehr Spalten als die Quelltabelle hat. Zusätzliche Spalten haben Standardwerte. Stattdessen können Sie
INSERT destination_table SELECT * FROM source_table
ausführen, um die Daten zu kopieren.
Erforderliche Rollen
Zum Ausführen der Aufgaben in diesem Dokument benötigen Sie die folgenden Berechtigungen.
Rollen zum Kopieren von Tabellen und Partitionen
Bitten Sie Ihren Administrator, Ihnen für die Quell- und Ziel-Datasets die IAM-Rolle Data Editor (roles/bigquery.dataEditor
) zu erteilen, damit Sie die Berechtigungen erhalten, die Sie zum Kopieren von Tabellen und Partitionen benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Kopieren von Tabellen und Partitionen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Kopieren von Tabellen und Partitionen erforderlich:
-
bigquery.tables.getData
für die Quell- und Ziel-Datasets -
bigquery.tables.get
für die Quell- und Ziel-Datasets -
bigquery.tables.create
für das Ziel-Dataset -
bigquery.tables.update
für das Ziel-Dataset
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Berechtigung zum Ausführen eines Kopierjobs
Bitten Sie Ihren Administrator, Ihnen für die Quell- und Ziel-Datasets die IAM-Rolle Job User (roles/bigquery.jobUser
) zu gewähren, damit Sie die Berechtigung zum Ausführen eines Kopierjobs erhalten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierte Rolle enthält die Berechtigung bigquery.jobs.create
, die zum Ausführen eines Kopierjobs erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Tabelle mit einer einzelnen Quelle kopieren
Sie können eine Tabelle auf folgenden Wegen kopieren:
- Google Cloud Console verwenden
- Den Befehl
bq cp
des bq-Befehlszeilentools verwenden - Durch Senden einer
CREATE TABLE COPY
-DDL-Anweisung (Data Definition Language, Datendefinitionssprache) - Durch Aufrufen der API-Methode
jobs.insert
, Konfigurieren einescopy
-Jobs und Angeben des AttributssourceTable
- Mithilfe der Clientbibliotheken
Die Google Cloud Console und die CREATE TABLE COPY
-Anweisung unterstützen pro Kopierjob nur eine Quelltabelle und eine Zieltabelle. Sie müssen das bq-Befehlszeilentool oder die API verwenden, um mehrere Quelldateien in eine Zieltabelle zu kopieren.
So kopieren Sie eine einzelne Quelltabelle:
Console
Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann die Tabelle aus.
Klicken Sie im Detailfeld auf Tabelle kopieren.
Im Dialogfeld Copy table (Tabelle kopieren) unter Destination (Ziel):
- Wählen Sie bei Projektname das Projekt aus, in dem die kopierte Tabelle gespeichert wird.
- Wählen Sie bei Dataset-Name das Dataset aus, in dem die kopierte Tabelle gespeichert werden soll. Die Quell- und Ziel-Datasets müssen sich am selben Standort befinden.
- Geben Sie bei Tabellenname einen Namen für die neue Tabelle ein. Der Name darf im Ziel-Dataset nur einmal vorkommen. Sie können eine vorhandene Tabelle im Ziel-Dataset nicht mit der Google Cloud Console überschreiben. Weitere Informationen zu den Anforderungen für Tabellennamen finden Sie unter Tabellennamen.
Klicken Sie auf Kopieren, um den Kopierjob zu starten.
SQL
Verwenden Sie die Anweisung CREATE TABLE COPY
, um eine Tabelle mit dem Namen table1
in eine neue Tabelle mit dem Namen table1copy
zu kopieren:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
CREATE TABLE
myproject.mydataset.table1copy
COPYmyproject.mydataset.table1
;Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen ausführen.
bq
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie den Befehl
bq cp
aus. Sie können optionale Flags verwenden, um die Schreibanordnung für die Zieltabelle zu steuern:- Mit
-a
oder--append_table
werden die Daten aus der Quelltabelle an eine vorhandene Tabelle im Ziel-Dataset angefügt. -f
oder--force
überschreibt eine vorhandene Tabelle im Ziel-Dataset, ohne eine Bestätigung von Ihnen anzufordern.- Wenn sich die Tabelle im Ziel-Dataset befindet, gibt
-n
oder--no_clobber
die folgende Fehlermeldung aus:Table 'project_id:dataset.table' already exists, skipping.
. Wenn-n
nicht angegeben ist, werden Sie standardmäßig gefragt, ob die Zieltabelle ersetzt werden soll. --destination_kms_key
ist der vom Kunden verwaltete Cloud KMS-Schlüssel, der zum Verschlüsseln der Zieltabelle verwendet wird.
--destination_kms_key
wird hier nicht angewendet. Weitere Informationen finden Sie unter Daten mit Cloud KMS-Schlüsseln schützen.Wenn sich das Quell- oder Ziel-Dataset in einem anderen Projekt als Ihrem Standardprojekt befindet, fügen Sie die Projekt-ID im folgenden Format dem Dataset-Namen hinzu:
project_id:dataset
.Optional: Geben Sie das Flag
--location
an und legen Sie als Wert Ihren Standort fest.bq --location=location cp \ -a -f -n \
project_id:dataset.source_table
\project_id:dataset.destination_table
Ersetzen Sie Folgendes:
location
: Name Ihres Standorts. Das Flag--location
ist optional. Wenn Sie BigQuery z. B. in der Region Tokio verwenden, können Sie für das Flag den Wertasia-northeast1
festlegen. Mit der Datei.bigqueryrc
können Sie einen Standardwert für den Standort festlegen.project_id
: Ihre Projekt-ID.dataset
: der Name des Quell- oder Ziel-Datasets.source_table
: die Tabelle, die Sie kopieren.destination_table
: der Name der Tabelle im Ziel-Dataset.
Beispiele:
Geben Sie den folgenden Befehl ein, um die Tabelle
mydataset.mytable
in die Tabellemydataset2.mytable2
zu kopieren. Beide Datasets befinden sich in Ihrem Standardprojekt.bq cp mydataset.mytable mydataset2.mytable2
Geben Sie den folgenden Befehl ein, um die Tabelle
mydataset.mytable
zu kopieren und eine Zieltabelle mit demselben Namen zu überschreiben. Das Quell-Dataset befindet sich in Ihrem Standardprojekt. Das Ziel-Dataset befindet sich im Projektmyotherproject
. Mit dem Kürzel-f
wird die Zieltabelle ohne Eingabeaufforderung überschrieben.bq cp -f \ mydataset.mytable \ myotherproject:myotherdataset.mytable
Geben Sie den folgenden Befehl ein, um die Tabelle
mydataset.mytable
zu kopieren und einen Fehler zurückzugeben, wenn das Ziel-Dataset eine Tabelle mit demselben Namen enthält. Das Quell-Dataset befindet sich in Ihrem Standardprojekt. Das Ziel-Dataset befindet sich im Projektmyotherproject
. Mit dem Kürzel-n
wird das Überschreiben einer Tabelle mit demselben Namen verhindert.bq cp -n \ mydataset.mytable \ myotherproject:myotherdataset.mytable
Geben Sie den folgenden Befehl ein, um die Tabelle
mydataset.mytable
zu kopieren und die Daten an eine Zieltabelle mit demselben Namen anzufügen. Das Quell-Dataset befindet sich in Ihrem Standardprojekt. Das Ziel-Dataset befindet sich im Projektmyotherproject
. Das Kürzel- a
wird zum Anfügen an die Zieltabelle verwendet.bq cp -a mydataset.mytable myotherproject:myotherdataset.mytable
- Mit
API
Sie können eine vorhandene Tabelle über die API kopieren, indem Sie die Methode bigquery.jobs.insert
aufrufen und einen copy
-Job konfigurieren. Geben Sie Ihren Standort im Attribut location
im Abschnitt jobReference
der Jobressource an.
Geben Sie die folgenden Werte in der Jobkonfiguration an:
"copy": { "sourceTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "destinationTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "createDisposition": string, // Optional "writeDisposition": string, // Optional },
Dabei gilt: Mit sourceTable
werden Informationen über die zu kopierende Tabelle und mit destinationTable
Informationen über die neue Tabelle bereitgestellt. Mit createDisposition
wird angegeben, ob die Tabelle erstellt werden soll, falls sie noch nicht vorhanden ist. Mit writeDisposition
wird angegeben, ob eine vorhandene Tabelle überschrieben werden soll oder die Daten an eine vorhandene Tabelle angefügt werden sollen.
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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung 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 eine lokale Entwicklungsumgebung einrichten.