BigQuery SQL

【Bigquery】BQ上の既存テーブルの特定の列データを削除・型変換して上書きする方法

この記事は約2分で読めます。

 

Bigquery上のテーブルから余分な列データとかを削除したいな~と思ったのですが、ブラウザの管理画面からのGUI操作では削除できそうで削除できないようみたいで、SQLのCREATE文でテーブルを作り直さないといけないみたいなので、次はスムーズにできるようにメモしておきます。

 

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

 

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~の部分で存在しない新しいテーブル名を指定してあげればよいです。

 

スポンサーリンク
スポンサーリンク

テーブルの型(スキーマ)を変換して上書きする

 

Bigquery上の既存テーブルから特定の列削除は以下のクエリで行えます

 

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

 

STRINGとかARRAYなどBQ上でスキーマとして使えるデータ型の一覧については↓の公式ドキュメントを参照してください。

 

参照:変換関数  |  BigQuery  |  Google Cloud

 

 

コメント

タイトルとURLをコピーしました