Partitionierte Tabellen verwalten

In diesem Dokument erfahren Sie, wie partitionierte Tabellen in BigQuery verwaltet werden.

Partitionsmetadaten abrufen

So erhalten Sie Informationen zu Tabellen:

Metadaten einer Partition mithilfe von INFORMATION_SCHEMA-Ansichten abrufen

Wenn Sie die Ansicht INFORMATION_SCHEMA.PARTITIONS abfragen, wird in den Abfrageergebnissen jede Partition in einer eigenen Zeile dargestellt. Beispiel: Die folgende Abfrage listet alle Tabellenpartitionen im Dataset namens mydataset auf:

SELECT table_name, partition_id, total_rows
FROM `mydataset.INFORMATION_SCHEMA.PARTITIONS`
WHERE partition_id IS NOT NULL

Weitere Informationen finden Sie unter INFORMATION_SCHEMA.PARTITIONS.

Metadaten einer Partition mithilfe von Metatabellen abrufen

In Legacy-SQL können Sie Metadaten zu Tabellenpartitionen abrufen, indem Sie die Metatabelle __PARTITIONS_SUMMARY__ abfragen. Meta-Tabellen sind schreibgeschützte Tabellen, die Metadaten enthalten.

Fragen Sie die Metatabelle __PARTITIONS_SUMMARY__ so ab:

#legacySQL
SELECT
  column
FROM
  [dataset.table$__PARTITIONS_SUMMARY__]

Die Metatabelle __PARTITIONS_SUMMARY__ hat folgende Spalten:

Wert Beschreibung
project_id Name des Projekts
dataset_id Name des Datasets
table_id Name der zeitpartitionierten Tabelle
partition_id Name (Datum) der Partition
creation_time Zeitpunkt, zu dem die Partition erstellt wurde, in Millisekunden seit dem 1. Januar 1970 (UTC)
last_modified_time Zeitpunkt, zu dem die Partition zuletzt geändert wurde, in Millisekunden seit dem 1. Januar 1970 (UTC)

Zum Ausführen eines Abfragejobs, der die Metatabelle __PARTITIONS_SUMMARY__ verwendet, benötigen Sie mindestens Berechtigungen vom Typ bigquery.jobs.create und bigquery.tables.getData.

Weitere Informationen zu IAM-Rollen in BigQuery finden Sie unter Zugriffssteuerung.

Partitionsablauf festlegen

Wenn Sie eine Tabelle erstellen, die nach Aufnahmezeit oder nach einer Zeiteinheitspalte partitioniert ist, können Sie einen Partitionsablauf festlegen. Diese Einstellung gibt an, wie lange BigQuery die Daten in jeder Partition aufbewahrt. Die Einstellung gilt für alle Partitionen in der Tabelle, wird jedoch für jede Partition separat basierend auf der Partitionszeit berechnet.

Die Ablaufzeit einer Partition wird anhand der Partitionsgrenze in UTC berechnet. Bei einer täglichen Partitionierung ist die Partitionsgrenze beispielsweise Mitternacht (00:00:00 UTC). Wenn der Partitionsablauf der Tabelle 6 Stunden beträgt, läuft jede Partition am folgenden Tag um 06:00:00 UTC ab. Wenn eine Partition abläuft, löscht BigQuery die Daten in dieser Partition.

Sie können auch einen Standard-Partitionsablauf auf Dataset-Ebene festlegen. Wenn Sie den Partitionsablauf für eine Tabelle festlegen, überschreibt der Wert den Standard-Partitionsablauf. Wenn Sie keinen Partitionsablauf (für die Tabelle oder das Dataset) angeben, laufen Partitionen niemals ab.

Wenn Sie einen Tabellenablauf festlegen, hat dieser Wert Vorrang vor dem Partitionsablauf. Wenn beispielsweise der Tabellenablauf auf 5 Tage und der Partitionsablauf auf 7 Tage festgelegt ist, werden die Tabelle und alle darin enthaltenen Partitionen nach 5 Tagen gelöscht.

Nachdem eine Tabelle erstellt wurde, können Sie den Partitionsablauf der Tabelle jederzeit aktualisieren. Die neue Einstellung gilt für alle Partitionen in dieser Tabelle, unabhängig davon, wann sie erstellt wurden. Vorhandene Partitionen laufen sofort ab, wenn sie vor der neuen Ablaufzeit liegen. Genauso werden, wenn Daten in eine Tabelle kopiert oder eingefügt werden, die nach der Spalte mit Zeiteinheiten partitioniert ist, alle Partitionen, die älter als der für die Tabelle konfigurierte Partitionsablaufzeitpunkt sind, sofort beendet.

Wenn eine Partition abläuft, sind die Daten in dieser Partition nicht mehr für Abfragen verfügbar und Ihnen wird die Speicherung dieser Partition nicht in Rechnung gestellt. BigQuery löscht die abgelaufene Partition schließlich. Bis dahin wird die Partition auf Tabellenkontingente angerechnet. Wenn Sie eine Partition sofort löschen möchten, können Sie die Partition manuell löschen.

Partitionsablauf aktualisieren

So aktualisieren Sie den Partitionsablauf einer partitionierten Tabelle:

Console

In der Google Cloud Console kann der Partitionsablauf nicht aktualisiert werden.

SQL

Verwenden Sie die Anweisung ALTER TABLE SET OPTIONS. Im folgenden Beispiel wird die Ablaufzeit auf 5 Tage aktualisiert. Wenn Sie den Partitionsablauf für eine Tabelle entfernen möchten, setzen Sie partition_expiration_days auf NULL.

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER TABLE mydataset.mytable
      SET OPTIONS (
        -- Sets partition expiration to 5 days
        partition_expiration_days = 5);
    

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Führen Sie den Befehl bq update mit dem Flag --time_partitioning_expiration aus. Wenn Sie eine partitionierte Tabelle in einem anderen Projekt als Ihrem Standardprojekt aktualisieren, fügen Sie die Projekt-ID im folgenden Format in den Dataset-Namen ein: project_id:dataset

bq update \
--time_partitioning_expiration integer_in_seconds \
--time_partitioning_type unit_time \
project_id:dataset.table

Dabei gilt:

  • integer ist die Standardlebensdauer (in Sekunden) für die Partitionen der Tabelle. Es gibt keinen Mindestwert. Die Ablaufzeit entspricht dem Datum der Partition plus dem ganzzahligen Wert. Wenn Sie 0 angeben, wird der Partitionsablauf entfernt und die Partition läuft nie ab. Partitionen ohne Ablaufdatum müssen manuell gelöscht werden.
  • unit_time ist entweder DAY, HOUR, MONTH oder YEAR, basierend auf der Detaillierungsgrad der Partition der Tabelle. Dieser Wert muss mit der Detaillierung übereinstimmen, die Sie beim Erstellen der Tabelle festgelegt haben.
  • project_id ist die Projekt-ID.
  • dataset ist der Name des Datasets, das die zu aktualisierende Tabelle enthält.
  • table ist der Name der Tabelle, die Sie aktualisieren.

Beispiele:

Geben Sie den folgenden Befehl ein, um den Partitionsablauf in mydataset.mytable auf 5 Tage (432000 Sekunden) zu aktualisieren. mydataset befindet sich in Ihrem Standardprojekt.

bq update --time_partitioning_expiration 432000 mydataset.mytable

Geben Sie den folgenden Befehl ein, um den Partitionsablauf in mydataset.mytable auf 5 Tage (432000 Sekunden) zu aktualisieren. mydataset befindet sich in myotherproject, nicht in Ihrem Standardprojekt.

bq update \
--time_partitioning_expiration 432000 \
myotherproject:mydataset.mytable

API

Rufen Sie die Methode tables.patch auf und verwenden Sie das Attribut timePartitioning.expirationMs, um den Partitionsablauf in Millisekunden zu aktualisieren. Da die Methode tables.update die gesamte Tabellenressource ersetzt, ist die Methode tables.patch zu bevorzugen.

Partitionsfilteranforderungen festlegen

Wenn Sie eine partitionierte Tabelle erstellen, können Sie festlegen, dass alle Abfragen für die Tabelle einen Prädikatfilter (eine WHERE-Klausel) enthalten müssen, der nach der Partitionierungsspalte filtert. Diese Einstellung kann die Leistung verbessern und die Kosten senken, da BigQuery den Filter verwenden kann, um Partitionen zu bereinigen, die nicht mit dem Prädikat übereinstimmen.

Weitere Informationen zum Einbinden der Option Partitionsfilter anfordern beim Erstellen einer partitionierten Tabelle finden Sie unter Partitionierte Tabellen erstellen.

Wenn eine partitionierte Tabelle die Einstellung Partitionsfilter anfordern hat, muss jede Abfrage in dieser Tabelle mindestens ein Prädikat enthalten, das nur auf die Partitionierungsspalte verweist. Bei Abfragen ohne ein solches Prädikat wird der folgende Fehler zurückgegeben:

Cannot query over table 'project_id.dataset.table' without a filter that can be used for partition elimination.

Weitere Informationen finden Sie unter Partitionierte Tabellen abfragen.

Partitionsfilteranforderung aktualisieren

Wenn Sie die Option Partitionsfilter anfordern beim Erstellen der partitionierten Tabelle nicht aktiviert haben, können Sie die Tabelle aktualisieren, um die Option hinzuzufügen.

Console

In der Google Cloud Console können Sie keine Partitionsfilter anfordern, nachdem eine partitionierte Tabelle erstellt wurde.

SQL

Mit der Anweisung ALTER TABLE SET OPTIONS aktualisieren Sie die Anforderung für den Partitionsfilter. Im folgenden Beispiel wird die Anforderung auf true aktualisiert:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER TABLE mydataset.mypartitionedtable
      SET OPTIONS (
        require_partition_filter = true);
    

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Wenn Sie eine partitionierte Tabelle mit dem bq-Befehlszeilentool aktualisieren möchten, damit Partitionsfilter erforderlich sind, geben Sie den --require_partition_filter-Befehl ein und geben Sie das Flag bq update an.

Zum Aktualisieren einer partitionierten Tabelle in einem anderen Projekt als Ihrem Standardprojekt fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu: project_id:dataset.

Beispiel:

Zum Aktualisieren von mypartitionedtable in mydataset in Ihrem Standardprojekt geben Sie Folgendes ein:

bq update --require_partition_filter mydataset.mytable

Zum Aktualisieren von mypartitionedtable in mydataset in myotherproject geben Sie Folgendes ein:

bq update --require_partition_filter myotherproject:mydataset.mytable

API

Rufen Sie die Methode tables.patch auf und setzen Sie das Attribut requirePartitionFilter auf true, um Partitionsfilter erforderlich zu machen. Da die Methode tables.update die gesamte Tabellenressource ersetzt, ist die Methode tables.patch zu bevorzugen.

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.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Table;

// Sample to update require partition filter on a table.
public class UpdateTableRequirePartitionFilter {

  public static void runUpdateTableRequirePartitionFilter() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String tableName = "MY_TABLE_NAME";
    updateTableRequirePartitionFilter(datasetName, tableName);
  }

  public static void updateTableRequirePartitionFilter(String datasetName, String tableName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      Table table = bigquery.getTable(datasetName, tableName);
      table.toBuilder().setRequirePartitionFilter(true).build().update();

      System.out.println("Table require partition filter updated successfully");
    } catch (BigQueryException e) {
      System.out.println("Table require partition filter was not updated \n" + e.toString());
    }
  }
}

Partitionierte Tabelle kopieren

Der Vorgang zum Kopieren einer partitionierten Tabelle entspricht dem zum Kopieren einer Standardtabelle. Weitere Informationen finden Sie unter Tabelle kopieren.

Beachten Sie beim Kopieren einer partitionierten Tabelle Folgendes:

  • Partitionierte Tabelle in eine neue Zieltabelle kopieren
    Alle Partitionierungsinformationen werden mit der Tabelle kopiert. Die neue Tabelle und die alte Tabelle haben identische Partitionen.
  • Nicht partitionierte Tabelle in eine vorhandene partitionierte Tabelle kopieren
    Dieser Vorgang wird nur für die Partitionierung nach Aufnahmezeit unterstützt. BigQuery kopiert die Quelldaten in die Partition, die das aktuelle Datum darstellt. Dieser Vorgang wird für nach Zeiteinheitspalte partitionierte oder nach Ganzzahlbereich partitionierte Tabellen nicht unterstützt.
  • Partitionierte Tabelle in eine andere partitionierte Tabelle kopieren
    Die Partitionsspezifikationen für die Quell- und Zieltabelle müssen übereinstimmen.
  • Partitionierte Tabelle in eine nicht partitionierte Tabelle kopieren
    Die Zieltabelle bleibt unpartitioniert.
  • Mehrere partitionierte Tabellen kopieren

    Beim Kopieren mehrerer Quelltabellen in eine partitionierte Tabelle im selben Job dürfen die Quelltabellen keine Mischung aus partitionierten und nicht partitionierten Tabellen enthalten.

    Wenn es sich bei den Quelltabellen allesamt um partitionierte Tabellen handelt, müssen die Partitionsspezifikationen aller Quelltabellen mit der Partitionsspezifikation der Zieltabelle übereinstimmen.

Beim Kopieren in eine vorhandene Tabelle können Sie angeben, ob an die Zieltabelle angehängt oder sie überschrieben werden soll.

Einzelne Partitionen kopieren

Sie können die Daten aus einer oder mehreren Partitionen in eine andere Tabelle kopieren.

Console

Das Löschen von Partitionen wird von der Google Cloud Console nicht unterstützt.

bq

Zum Kopieren einer Partition geben Sie im bq-Befehlszeilentool den Befehl bq cp (copy) mit einem Partitions-Decorator ($date) wie etwa $20160201 ein.

Sie können zusätzliche Flags verwenden, um die Schreibanordnung der Zielpartition zu steuern:

  • Mit -a oder --append_table werden die Daten aus der Quellpartition an eine vorhandene Tabelle oder Partition im Ziel-Dataset angefügt.
  • -f oder --force überschreibt eine vorhandene Tabelle oder Partition im Ziel-Dataset, ohne eine Bestätigung von Ihnen anzufordern.
  • -n oder --no_clobber geben folgende Fehlermeldung zurück, wenn die Tabelle oder Partition im Ziel-Dataset vorhanden ist: Table '<var>project_id:dataset.table</var> or <var>table$date</var>' already exists, skipping.. Wenn -n nicht angegeben wird, werden Sie standardmäßig aufgefordert, anzugeben, ob die Zieltabelle oder -partition ersetzt werden soll.
  • --destination_kms_key ist der vom Kunden verwaltete Cloud KMS-Schlüssel, der zum Verschlüsseln der Zieltabelle oder -partition verwendet wird.

Der Befehl cp unterstützt die Flags --time_partitioning_field oder --time_partitioning_type nicht. Sie können eine nach Datum partitionierte Tabelle nicht mithilfe eines Kopierjobs in eine partitionierte Tabelle konvertieren.

--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$source_partition \
project_id:dataset.destination_table$destination_partition

Dabei gilt:

  • location ist der 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 Wert asia-northeast1 festlegen. Mit der Datei .bigqueryrc können Sie einen Standardwert für den Standort festlegen.
  • project_id ist die Projekt-ID.
  • dataset ist der Name des Quell- oder Ziel-Datasets.
  • source_table ist die kopierte Tabelle.
  • source_partition ist der Partitions-Decorator der Quellpartition.
  • destination_table ist der Name der Tabelle im Ziel-Dataset.
  • destination_partition ist der Partitions-Decorator der Zielpartition.

Beispiele:

Partition in eine neue Tabelle kopieren

Mit dem folgenden Befehl kopieren Sie die Partition vom 30. Januar 2018 aus mydataset.mytable in die neue Tabelle – mydataset.mytable2. mydataset befindet sich in Ihrem Standardprojekt.

bq cp -a 'mydataset.mytable$20180130' mydataset.mytable2

Partition in eine nicht partitionierte Tabelle kopieren

Mit dem folgenden Befehl kopieren Sie die Partition vom 30. Januar 2018 aus mydataset.mytable in eine nicht partitionierte Tabelle – mydataset2.mytable2. Mit der Tastenkombination -a werden die Daten der Partition an die nicht partitionierte Zieltabelle angehängt. Beide Datasets befinden sich in Ihrem Standardprojekt.

bq cp -a 'mydataset.mytable$20180130' mydataset2.mytable2

Mit dem folgenden Befehl kopieren Sie die Partition vom 30. Januar 2018 aus mydataset.mytable in eine nicht partitionierte Tabelle – mydataset2.mytable2. Die Tastenkombination -f wird verwendet, damit die nicht partitionierte Zieltabelle ohne Bestätigungsaufforderung überschrieben wird.

bq --location=US cp -f 'mydataset.mytable$20180130' mydataset2.mytable2

Partition in eine partitionierte Tabelle kopieren

Mit dem folgenden Befehl kopieren Sie die Partition vom 30. Januar 2018 aus mydataset.mytable in eine andere partitionierte Tabelle – mydataset2.mytable2. Die Tastenkombination -a dient zum Anhängen der Daten der Partition an die Zieltabelle. Da für die Zieltabelle kein Partitions-Decorator angegeben ist, wird der Schlüssel der Quellpartition beibehalten und die Daten werden in der Zieltabelle in die Partition vom 30. Januar 2018 kopiert. Sie können auch einen Partitions-Decorator in der Zieltabelle angeben, um Daten in eine bestimmte Partition zu kopieren. mydataset befindet sich in Ihrem Standardprojekt. mydataset2 ist nicht im Standardprojekt, sondern in myotherproject enthalten.

bq --location=US cp \
-a \
'mydataset.mytable$20180130' \
myotherproject:mydataset2.mytable2

Mit dem folgenden Befehl kopieren Sie die Partition vom 30. Januar 2018 aus mydataset.mytable in die Partition vom 20. Februar 2018 einer anderen partitionierten Tabelle – mydataset2.mytable2. Mit der Tastenkombination -f wird die Partition vom 20. Februar 2018 in der Zieltabelle ohne Eingabeaufforderung überschrieben. Wenn kein Partitions-Decorator verwendet wird, werden alle Daten in der Zieltabelle überschrieben. mydataset befindet sich in Ihrem Standardprojekt. mydataset2 befindet sich nicht in Ihrem Standardprojekt, sondern in myotherproject.

bq cp \
-f \
'mydataset.mytable$20180130' \
'myotherproject:mydataset2.mytable2$20180220'

Mit dem folgenden Befehl kopieren Sie die Partition vom 30. Januar 2018 aus mydataset.mytable in eine andere partitionierte Tabelle – mydataset2.mytable2. mydataset befindet sich in Ihrem Standardprojekt. mydataset2 ist nicht im Standardprojekt, sondern in myotherproject enthalten. Wenn sich in der Zieltabelle Daten befinden, werden Sie standardmäßig zum Überschreiben aufgefordert.

bq cp \
'mydataset.mytable$20180130' \
myotherproject:mydataset2.mytable2

Wenn Sie mehrere Partitionen kopieren möchten, geben Sie diese als durch Kommas getrennte Liste an:

bq cp \
'mydataset.mytable$20180130,mydataset.mytable$20180131' \
myotherproject:mydataset.mytable2

API

Rufen Sie die Methode jobs.insert auf und konfigurieren Sie einen copy-Job. (Optional:) Geben Sie Ihren Standort im Attribut location im Abschnitt jobReference der Jobressource an.

In der Jobkonfiguration geben Sie die folgenden Attribute an:

  • Im Attribut sourceTables geben Sie das Quell-Dataset, die Quelltabelle und die Quellpartition ein.
  • Im Attribut destinationTable geben Sie das Ziel-Dataset und die Zieltabelle ein.
  • Mit dem Attribut writeDisposition geben Sie an, ob die Zieltabelle bzw. die Zielpartition angehängt oder überschrieben werden soll.

Wenn Sie mehrere Partitionen kopieren möchten, geben Sie im Attribut sourceTables die Quellpartitionen (einschließlich des Namens des Datasets und der Tabelle) ein.

Partition löschen

Sie können eine einzelne Partition aus einer partitionierten Tabelle löschen. Sie können jedoch die speziellen Partitionen __NULL__ oder __UNPARTITIONED__ nicht löschen.

Sie können nur jeweils eine Partition löschen.

Durch Angeben des Partitions-Decorators können Sie eine Partition löschen, sofern es sich nicht um eine der beiden besonderen Partitionen handelt.

So löschen Sie eine Partition einer partitionierten Tabelle:

Console

Das Löschen von Partitionen wird von der Google Cloud Console nicht unterstützt.

SQL

Wenn eine qualifizierte DELETE-Anweisung alle Zeilen in einer Partition abdeckt, entfernt BigQuery die gesamte Partition. Das Entfernen erfolgt, ohne Byte zu scannen oder Slots zu verbrauchen. Das folgende Beispiel einer DELETE-Anweisung deckt die gesamte Partition eines Filters in der Pseudospalte _PARTITIONDATE ab:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    DELETE mydataset.mytable
    WHERE _PARTITIONDATE IN ('2076-10-07', '2076-03-06');
    

  3. 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 --table (oder der Kurzform -t) und geben Sie den Partitions-Decorator an, um eine bestimmte Partition zu löschen.

bq rm --table project_id:dataset.table$partition

Dabei gilt:

  • project_id ist die Projekt-ID. Wenn nichts angegeben ist, wird das Standardprojekt verwendet.
  • dataset ist der Name des Datasets, das die Tabelle enthält.
  • table ist der Name der Tabelle.
  • partition ist der Partitions-Decorator der zu löschenden Partition.

Partitions-Decorators haben je nach Partitionierungstyp das folgende Format:

  • Stündliche Partition: yyyymmddhh. Beispiel: $2016030100.
  • Tägliche Partition: yyyymmdd. Beispiel: $20160301.
  • Monatliche Partition: yyyymm. Beispiel: $201603.
  • Jährliche Partition: yyyy. Beispiel: $2016.
  • Partition des Ganzzahlbereichs: Beginn des Partitionsbereichs. Beispiel: $20.

Sie werden vom bq-Befehlszeilentool aufgefordert, die Aktion zu bestätigen. Verwenden Sie das Flag --force (oder die Kurzform -f), um die Bestätigung zu überspringen.

Beispiele:

Löschen Sie die Partition für den 1. März 2016 in einer täglich partitionierten Tabelle namens mydataset.mytable in Ihrem Standardprojekt:

bq rm --table 'mydataset.mytable$20160301'

Löschen Sie die Partition für März 2016 in einer monatlich partitionierten Tabelle:

bq rm --table 'mydataset.mytable$201603'

Löschen Sie den Ganzzahlbereich ab 20 in einer nach Ganzzahlbereich partitionierten Tabelle mit dem Namen mydataset.mytable:

bq rm --table 'mydataset.mytable$20'

API

Rufen Sie die Methode tables.delete auf und legen Sie mit dem Parameter tableId die Tabelle und den Partitions-Decorator fest.

Sicherheit partitionierter Tabellen

Die Zugriffssteuerung für partitionierte Tabellen entspricht der Zugriffssteuerung für Standardtabellen. Weitere Informationen finden Sie unter Einführung in die Tabellenzugriffssteuerung.