BigQueryテーブルへのパーティション追加
概要
- 既存の非パーティションテーブルを直接パーティションテーブルに変更することはできない
- 新しいパーティションテーブルを作成し、データをコピーする方法で実現可能
手順
- 新しいパーティションテーブルの作成とデータのコピー
CREATE TABLE `project_id.dataset_id.new_partitioned_table`
PARTITION BY DATE(timestamp_column) AS
SELECT * FROM `project_id.dataset_id.original_table`;
- 元のテーブルの削除と新テーブルの名前変更
DROP TABLE `project_id.dataset_id.original_table`;
ALTER TABLE `project_id.dataset_id.new_partitioned_table`
RENAME TO `project_id.dataset_id.original_table`;
注意点
- 大量データの場合、時間とリソースを要する
- パーティションキーの列は適切なデータ型である必要がある
- テーブル設計に影響を与えるため、慎重な計画が必要
メリット
- クエリパフォーマンスの向上
- コスト削減の可能性
その他
- 時系列パーティショニング以外に、整数範囲パーティショニングも利用可能
- 整数範囲パーティショニングを使用する場合は、CREATE TABLE文を適宜調整する