Partitionierte Tabellendaten verwalten
In diesem Dokument wird die Verwaltung von Daten in partitionierten Tabellen in BigQuery beschrieben.
Partitions-Decorator
Mit Partition-Decorators können Sie auf eine Partition in einer Tabelle verweisen. Sie können damit beispielsweise Daten in eine bestimmte Partition schreiben.
Ein Partitions-Decorator hat die Form table_name$partition_id
, wobei das Format des Segments partition_id
vom Partitionierungstyp abhängt:
Partitionierungstyp | Format | Beispiel |
---|---|---|
Stündlich | yyyymmddhh |
my_table$2021071205 |
Täglich | yyyymmdd |
my_table$20210712 |
Monatlich | yyyymm |
my_table$202107 |
Jährlich | yyyy |
my_table$2021 |
Ganzzahlbereich | range_start |
my_table$40 |
In den Daten einer Partition suchen
Verwenden Sie den Befehl bq head
mit einem Partitions-Decorator, um in den Daten einer bestimmten Partition zu suchen.
Mit dem folgenden Befehl werden beispielsweise alle Felder in den ersten 10 Zeilen von my_dataset.my_table
in der Partition vom 24.02.2018 aufgeführt.
bq head --max_rows=10 'my_dataset.my_tablee$20180224'
Daten in eine bestimmte Partition schreiben
Wenn Sie Daten in eine bestimmte Partition laden möchten, verwenden Sie den Befehl bq load
mit einem Partitions-Decorator. Im folgenden Beispiel werden Daten in die Partition 20160501
einer vorhandenen Tabelle geschrieben, vorausgesetzt, die Tabelle ist bereits nach Datum partitioniert:
bq load --source_format=CSV 'my_dataset.my_table$20160501' data.csv
Sie können die Ergebnisse einer Abfrage auch in eine bestimmte Partition schreiben:
bq query \ --use_legacy_sql=false \ --destination_table='my_table$20160501' \ --append_table=true \ 'SELECT * FROM my_dataset.another_table'
Mit der Partitionierung während der Aufnahmezeit können Sie mit dieser Technik ältere Daten in die Partition laden, die dem Zeitpunkt entspricht, zu dem die Daten ursprünglich erstellt wurden.
Mit dieser Technik können Sie auch Zeitzonen anpassen. Standardmäßig werden Partitionen zur Aufnahmezeit anhand der UTC-Zeit erstellt. Wenn Sie möchten, dass die Partitionszeit mit einer bestimmten Zeitzone übereinstimmt, können Sie Partition-Decorators verwenden, um die UTC-Aufnahmezeit zu verschieben. Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden, können Sie Daten, die am 1. Mai 2016 (PST) generiert wurden, mithilfe des entsprechenden Partitions-Decorators, $20160501
, in die Partition für dieses Datum laden.
Bei nach Datum und Uhrzeit partitionierten Tabellen muss die im Decorator angegebene Partitions-ID mit den geschriebenen Daten übereinstimmen. Wenn die Tabelle beispielsweise nach einer Spalte vom Typ DATE
partitioniert ist, muss der Decorator mit dem Wert in dieser Spalte übereinstimmen. Andernfalls tritt ein Fehler auf. Wenn Sie jedoch vorher wissen, dass sich Ihre Daten in einer einzelnen Partition befinden, kann die Angabe des Partitions-Decorators die Schreibleistung verbessern.
Weitere Informationen zum Laden von Daten finden Sie unter Einführung in das Laden von Daten in BigQuery.
Daten in partitionierte Tabellen streamen
Informationen zum Streamen von Daten in eine partitionierte Tabelle mit der Methode tabledata.insertAll
finden Sie unter Streaming in partitionierte Tabellen.
Tabellendaten exportieren
Der Export sämtlicher Daten einer partitionierten Tabelle erfolgt auf die gleiche Weise wie der Datenexport einer nicht partitionierten Tabelle. Weitere Informationen hierzu finden Sie unter Tabellendaten exportieren.
Für den Export von Daten aus einer einzelnen Partition hängen Sie den Partitions-Decorator an den Tabellennamen an. z. B. my_table$20160201
.
Wenn Sie Daten aus den Partitionen __NULL__
und __UNPARTITIONED__
exportieren möchten, hängen Sie die Partitionsnamen an den Tabellennamen an. Beispiel: my_table$__NULL__
bzw. my_table$__UNPARTITIONED__
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.
Mehr zur Verwendung der Play Console erfahren
Mehr zur Arbeit mit partitionierten Tabellen erfahren Sie unter:
- Partitionierte Tabellen erstellen
- Partitionierte Tabellen verwalten
- Partitionierte Tabellen abfragen