エンジニアやデータアナリストだけでなく、マーケターでもGoogle BigQueryでデータを扱うケースが多くなっていると思います。
BigQueryに作成・格納されたテーブルのフィールド名(カラム名)を変更したい!と思ったときに、方法がさっとわからなかったり、手順を忘れてしまうことはありませんか?
スキーマのフィールド名(カラム名)を変更する手順を画像付きで解説していきます。
慣れてしまうと意外と簡単で、3ステップで完了です!
BigQueryスキーマのフィールド名(カラム名)を変更する手順
データ型の変更手順は、以下のような流れです。
①コンソールでフィールド名(カラム名)を変更するクエリを書く
②「クエリ設定」からテーブルの上書きを設定
③クエリを実行する
それぞれ解説していきます。
コンソールでフィールド名(カラム名)を変更するクエリを書く
まずはクエリを新規作成し、フィールド名(カラム名)を変更するためのクエリを記述します。
以下の画像では、「product_discount_percent」を「product_discount_percentage」に名称変更する場合の例です。
* except(変更したいフィールド名(カラム名))
,変更前のフィールド名(カラム名) as 変更後のフィールド名(カラム名)
と記述します。
変更するフィールド以外を * except() で取得し、変更後のフィールド名を単純に as で指定します。
※後述しますが、* except() で指定した場合、変更後のフィールド(カラム)がテーブルの最後尾に位置するので注意が必要です。
※カラムの順番を変更したくない場合は、カラム名を一つ一つ記述する必要があります。
「クエリ設定」からテーブルの上書きを設定
次に、「展開」を選択し、「クエリ設定」をクリックします。
クエリの設定画面が出てくるので、
・「クエリ結果の宛先テーブルを設定する」を選択
・フィールド名(カラム名)を変更する該当の「データセット」と「テーブルID」を指定
・「テーブルを上書きする」を選択
をそれぞれ行い、保存します。
(上記以外はデフォルトのままでOKです)
クエリを実行する
クエリ設定が保存できたら、クエリを実行します。
コンソールの「実行」ボタンをクリックしてください。
元のテーブルが上書きされ、フィールド名(カラム名)が指定の名称に変更されます。
うまく「product_discount_percent」が「product_discount_percentage」に変更されました!
注意点
名称変更するカラム以外を「* except() 」で指定した場合、変更後のカラムがテーブルの最後尾に位置します。
カラムの順序は変更したくないという場合は、テーブルのカラムを一つずつ順番通りに記述する必要がありますので、ご注意ください!
まとめ
BigQueryのフィールド名(カラム名)を簡単に変更できました!
カラムの名称ではなく、データ型を変更したい場合は以下の記事をご参照ください。