BigQueryでテーブル作成後にtime_partitioning_fieldを追加設定する

公開日:2019-02-06
最終更新:2019-02-06

モチベーション

BigQueryでテーブルを作るとき、--time_partitioning_field オプションを付けると、Partitioned Table(日付分割テーブル)になります。

こうすることで、大量データでもクエリのコストを大幅に節約出来るようになります。

BigQueryで「日付別テーブル」や「テーブルパーティショニング」を活用して大規模データを扱う - Qiita

しかし、あとからtime_partitioning_fieldを設定したいことが稀にあります。

①普通のテーブルに後からpartition_fieldを追加する

Queryを発行し、コピーすると当時にpartition_fieldを追加する
(※ BigQueryコマンドラインツールが必要です)

 bq query --use_legacy_sql=false --allow_large_results --replace --time_partitioning_field=time --destination_table=SOME_DATASET.new_table "SELECT * FROM SOME_DATASET.old_table"

②テーブルをリネームする

BigQueryではリネーム出来ません(汗)
その代わり、コピー&削除でリネームしてしまいます。

GCP BigQueryのテーブル名を変更する

クラウドDWHを使い始めると、PostgresなどのRDBの常識が通用しない。
古い固定概念を捨て、発想の転換を常に意識して向き合う必要があるな、と思う今日このごろ

記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
217 Technologies Blog

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする