Daten in partitionierte Tabellen laden

In diesem Dokument wird beschrieben, wie Sie Daten in partitionierte Tabellen laden.

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 BigQuery Storage Write API finden Sie unter Zeitpartitionierung für Spalten.

Nächste Schritte

Mehr zur Arbeit mit partitionierten Tabellen erfahren Sie unter: