👩👩👧👧
GCP BigQuery テーブルのスキーマ変更 ~カラムの型~
Hey!
BigQueryで扱っているテーブルで、カラムの型を変更したい時ってありますよね。
小数点も扱わないといけなくなったから、INTEGERからFLOATに変えたい、みたいな・・・。
調べてもぱっとそれっぽい簡単な記事がなかったのですが、Google Cloudのドキュメントにちゃんと書いてあったので、それを簡単に説明します。
まあここ見ればわかります。
- クエリを書く!
select id, CAST(height AS FLOAT64) AS height, FROM `hoge.mysql_dump.users`;
こんな感じですね。 CAST
をしましょう。 AS
も忘れずに。
ええ、SELECT文
でいいんですよ。 MODIFY
とかじゃない。
- 魔改造設定をする
ここのクエリの設定
をクリック
送信先
を クエリ結果の宛先テーブルを設定する
プロジェクト名
データセット名
テーブル名
はあなたの環境に合わせて設定。
宛先テーブルの書き込み設定
は テーブルを上書きする
そして下のボタンで保存しましょう。
他の設定はそのままで良いかと。 結果サイズ
とかはよしなに。
- クエリを実行する
そうするとなんと、CASTしたカラムの型に合わせて、スキーマの型も変わります!
出、出〜〜〜っっwww直感的じゃない奴〜〜www
自分はAWSから転送とかしてるんですけど、カラムの定義の順番とかも同様にしないとエラーが起きるので、その点も気をつけましょう。select
するカラムの順番でスキーマが再定義されるので。
移譲!!
Discussion