【Bigquery】既存のテーブルから特定のフィールド(カラム)を削除する

bigquery Tips
Pocket

【この記事を読むのに必要な時間は約 2 分です】

Bigquery にて、既存のテーブルの特定のフィールドが不要になった場合の削除方法について説明します。

テーブルを作成後にフィールド(カラム)が不要になることがあります。その場合、Bigquery では UI からのフィールド削除はできないため、不要なフィールドを除外する クエリを実行する必要があります。

既存テーブルからフィールド(カラム)を削除する

スキーマの編集からは削除不可

bigquery カラムの削除 bigquery カラムの削除

UI から「スキーマを編集」をクリックして編集画面を表示してみると、フィールドの追加や説明の追加を行うことは可能ですが既存のフィールドを削除することはできません。

そのため、以下の手順にてクエリからフィールドを削除してください。

クエリにて一部フィールドを除外し既存のテーブルをコピーする

クエリからフィールドを削除すると言っても、「ALTER TABLE <テーブル名>DROP COLUMN」のような ALTER 文が実行できるわけではありません。

Bigquery にて特定のフィールドを削除するには以下のクエリを実行します。

CREATE OR REPLACE TABLE `bigquery.worktable` AS 
SELECT * EXCEPT(except_column) FROM `bigquery.worktable`

変更したいテーブルを CREATE OR REPLACE TABLE にて指定し、除外するフィールド名を EXCEPT にて指定します。ここではフィールド「except_column」を除外し、テーブルを同名で作り変えています。

もし既存のテーブルを残したい場合は、 CREATE OR REPLACE TABLE にて存在しない新しいテーブル名を指定してあげましょう。

コメントを残す

メールアドレスが公開されることはありません。