LoginSignup
1
1

BigQuery で bq コマンドを使ってテーブルを別 Project にコピーする

Posted at

はじめに

  • やりたいのは、 bq cp foo-project.abc-dataset.table1 bar-project.abc-dataset.table1 的な、テーブルを別プロジェクトにコピーしたい
  • ただ、これはできないので、コマンド3回叩いてなんとかするということです。

前提

  • コピー元
    • foo-project.abc-dataset.table1
  • コピー先
    • bar-project.abc-dataset.table1

プロジェクトが異なる場合、素直にコピーはできない

3つのコマンドでやる


## コピー元テーブルのスキーマファイルを生成
$ bq show -schema \
  --project_id foo-project \
  abc-dataset.table1 > schema.json

## コピー先テーブルに、空のテーブルを作成(データセットは既にあるものとしている)
$ bq mk --project_id bar-project \
--table abc-dataset.table1 \
schema.json

## 実データをselectして、コピー先テーブルにload
$ bq query --project_id bar-project \
  --destination_table abc-dataset.table1 \
  --use_legacy_sql=false "
select * from foo-project.abc-dataset.table1
;
"


1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1