https://cloud.google.com/bigquery/docs/data-replication?hl=ja
bq コマンドライン ツールは、Python をベースにした BigQuery 用のコマンドライン ツールです
bqコマンドはgcloud CLI に含まれる。
-- 1. 前作業
gcloud init
gcloud auth list
gcloud --version
gcloud projects create project01-9999999 \
--name="project01"
gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet
gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111
gcloud services enable compute.googleapis.com --project project01-9999999
gcloud components update
-- 2. BigQuery API有効化
gcloud services list --enabled
gcloud services enable bigquery.googleapis.com \
--project project01-9999999
-- 3. データセットを作成
bq \
--location=us-central1 mk \
--dataset \
project01-9999999:ds01
bq ls
-- 4. データセットを複製する
bq query \
--use_legacy_sql=false \
--location=us-central1 \
'ALTER SCHEMA ds01 ADD REPLICA `us-east4` OPTIONS(location=`us-east4`);'
bq query \
--use_legacy_sql=false \
--location=us-central1 \
'SELECT * FROM `region-us-central1`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS;'
bq query \
--use_legacy_sql=false \
--location=us-central1 \
'CREATE OR REPLACE TABLE ds01.tab1(col1 STRING, col2 INT64, col3 JSON);'
bq query \
--use_legacy_sql=false \
--location=us-central1 \
'insert into ds01.tab1(col1) values("A");'
bq query \
--use_legacy_sql=false \
--location=us-central1 \
'select * from ds01.tab1;'
bq query \
--use_legacy_sql=false \
--location=us-east4 \
'select * from ds01.tab1;'
-- 5. セカンダリ レプリカを昇格させる
bq query \
--use_legacy_sql=false \
--location=us-east4 \
'ALTER SCHEMA ds01 SET OPTIONS(primary_replica = "us-east4");'
bq query \
--use_legacy_sql=false \
--location=us-east4 \
'SELECT * FROM `region-us-east4`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS;'
-- 6. データセットのレプリカを削除する
bq query \
--use_legacy_sql=false \
--location=us-east4 \
'ALTER SCHEMA ds01 DROP REPLICA IF EXISTS `us-central1`;'
bq query \
--use_legacy_sql=false \
--location=us-east4 \
'SELECT * FROM `region-us-east4`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS;'
-- 7. クリーンアップ
bq --location=us-east4 rm --recursive=true --force ds01 \
bq ls
gcloud projects list
gcloud projects delete project01-9999999 -q