既存データテーブルのカラムを変更したい場合の手順は?

既存データテーブルに対して、スキーマの異なるデータを「追加」することはできません。
スキーマ変更する場合は、以下のいずれかの方法で実現してください。

カラム変更後の「全件データ」で「置き換え」する

  • 全件データをインポートし、既存データテーブルを「置き換え」する
    • スキーマ変更後の「全件データ」を、CSVファイル等で用意します
    • 既存データテーブルに対して、「置き換え」でインポートします

新規テーブルに既存データを移し、カラム変更後の「差分データ」を「追加」する

  • 既存データテーブルに対して、カラム変更を加える「全件抽出クエリ」を作成します
    • クエリ内で、カラムを変更します
      • カラム追加の場合は、デフォルト値等で埋めてください
  • そのクエリを利用し、新規データテーブルを作成します
  • その新規データテーブルに対して、差分データを「追加」でインポートします

スキーマ追加用「全件抽出クエリ」の例

  • 既存データテーブル
    • テーブル名
      • user_info
    • スキーマ
      • user_id:STRING,age:INT64
  • 追加するカラム
    • スキーマ
      • name:STRING
    • デフォルト値
      • ""(空文字)
SELECT
  user_id
  , age
  , "" AS name
FROM
  user_info