既存データテーブルのカラムを変更したい場合の手順は?
既存データテーブルに対して、スキーマの異なるデータを「追加」することはできません。
スキーマ変更する場合は、以下のいずれかの方法で実現してください。
カラム変更後の「全件データ」で「置き換え」する
- 全件データをインポートし、既存データテーブルを「置き換え」する
- スキーマ変更後の「全件データ」を、CSVファイル等で用意します
- 既存データテーブルに対して、「置き換え」でインポートします
新規テーブルに既存データを移し、カラム変更後の「差分データ」を「追加」する
- 既存データテーブルに対して、カラム変更を加える「全件抽出クエリ」を作成します
- クエリ内で、カラムを変更します
- カラム追加の場合は、デフォルト値等で埋めてください
- クエリ内で、カラムを変更します
- そのクエリを利用し、新規データテーブルを作成します
- その新規データテーブルに対して、差分データを「追加」でインポートします
スキーマ追加用「全件抽出クエリ」の例
- 既存データテーブル
- テーブル名
user_info
- スキーマ
user_id:STRING,age:INT64
- テーブル名
- 追加するカラム
- スキーマ
name:STRING
- デフォルト値
- ""(空文字)
- スキーマ
SELECT
user_id
, age
, "" AS name
FROM
user_info
Updated 10 months ago