【BigQuery】データセットを変更するには?画面からコピー操作する方法を紹介

BigQuery_データセット_変更 クラウドプラットフォーム

「テーブルを別のデータセットに移動したい」
仕様変更などで後からテーブルのデータセットを変えたいときありますよね.

しかしBigQueryにはデータセットを変更できるクエリはありません.
クエリはないものの画面から簡単にデータセットを変更できます.

今回はBigQueryでデータセットを変更する方法を紹介します.

データセットは変更できない!?

BigQueryではテーブルのデータセットを変えるクエリは用意されていません.

既存のデータセットの名前の変更や、データセットの作成後にデータセットを移動することはできません。

データセットを管理する|BigQueryドキュメント

公式リファレンスにもあるように、別のデータセットに移すことはできないんですね.

ドラッグ&ドロップとかでできると思っていました.

データセットは移せませんが変更する方法があります.
それはテーブルコピーをすることです.

データセット名を変更する代替手段として、データセットをコピーして、宛先データセットの名前を変更します。

データセットのコピー|BigQueryドキュメント

コピーするときにデータセットを書き換えると、データセットの変更ができます.

実際にやってみましょう!

コピーしてデータセットを変更する

サンプルテーブルを用意しました.

「20231212_training_menu」テーブルのデータセットは「test」です.

データセットを「test」から「sample」に変更します.

データセット「test」に所属するテーブルを「sample」に移動する|クリックして拡大できます

テーブル名の横にあるコピーをクリックします.
サイドバーが出てくるのでデータセットを「sample」に書き換えます

テーブル名の _copy が不要な場合は削除しておきましょう.

問題なければこれでコピーを押します.

データセットを「sample」に書き換える|クリックして拡大できます

データセット「sample」に「20231212_training_menu」テーブルが作られました.

簡単にデータセットを変更できましたね.

コピーなのでカラムや中身のデータは元テーブルと一緒です.

唯一変わる点は作成日時でしょう.
ほとんどの場合作成日時は変わっても問題ないと思います.

データセット「test」にある「20231212_training_menuテーブル」を削除すればデータセットの移動が完了します.

データセット「test」の「20231212_training_menu」を削除する|クリックして拡大できます
データセット「test」のテーブルを削除するとデータセット移行が完了する|クリックして拡大できます

コピーするとき元テーブルと同じ名前でも問題ない理由とはデータセットが違うからです.

データセットが違うと別テーブルとして扱われます.

後からrenameクエリを使わなくても良いので楽ですね.

まとめ

今回はBigQueryでデータセットを変更する方法を紹介しました.

画面からコピーするだけで簡単にデータセットを変更できました.

データセットを変えるクエリがあるのか調べましたが、どうやらないようですね.
ありなので無いと知ったときはびっくりしました.

データセットを後から変えることは起こり得ます.

コピーしてデータセットを変更する方法を覚えておきましょう!