bigquery cliのチートシート
概要
- コマンドからSQLの実行、データのロードができる
gcloud
をインストールすると自動的に入るコマンド- ロケーションを横断してテーブルを結合できないので、データセットのロケーションを指定する必要がある
ユースケース別コマンド例
- プロジェクトをセット
gcloud set project <PROJECT-NAME>
- データセットを作成
bq mk --dataset {PROJECT_NAME}:{DATASET_NAME}
bq --location=asia-northeast1 mk --dataset {PROJECT_NAME}:{DATASET_NAME}
– ロケーションの指定
- テーブルを作成
- 凡例
bq mk {PROJECT_NAME}:{BUCKET_NAME}.{TABLE_NAME} {SCHEMA}
- 具体例
bq mk --table starry-lattice-256603.attendances.logs ts:TIMESTAMP,message:STRING
- 凡例
- CSVをロード
- 具体例
bq load --replace --autodetect {SOME_PROJECT_NAME}:{BUCKET_NAME}.{TABLE_NAME} {ANY_CSV_PATH}
- オプション
--replace
; 上書き許可--autodetect
; CSVの型の自動検出を試みる
- 具体例
- ローカルのSQLを実行し、結果をテーブルに保存する
- 具体例
bq query --nouse_legacy_sql --replace --destination_table {SOME_PROJECT_NAME}:{BUCKET_NAME}.{TABLE_NAME} < sql/foobar.sql
- 具体例
- テーブルをgcsにダンプ
- 具体例
bq extract --compression=GZIP {SOME_PROJECT_NAME}:{BUCKET_NAME}.{TABLE_NAME} "gs://{GCS_BUCKET_NAME}/dir_name/*.gz"
- 具体例