bq
BigQuery操作CLI
リファレンス: https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja
関連ページ
cp
- https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja#bq_cp
- https://cloud.google.com/bigquery/docs/managing-tables?hl=ja#copy-table
Examples:
bq --location=LOCATION cp [OPTIONS] \
project_id:dataset.source_table project_id:dataset.destination_table
Option | デフォルト | 機能 |
---|---|---|
-a, --append_table | false | 指定すると元のテーブルがコピーされて既存の宛先テーブルに追加される |
-f, --force | false | 指定すると宛先テーブルが存在する場合にプロンプト表示なしで上書きされる |
-n, --no_clobber | false | 指定すると宛先テーブルが存在する場合は上書きしない |
load
ドキュメント:
- https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja#bq_load
- Cloud Storage からの CSV データの読み込み | BigQuery | Google Cloud
Examples:
# TSVファイルをロードする
bq load --source_format=CSV --encoding=UTF-8 --field_delimiter="\t" [dataset].[table] SOURCE [SCHEMA]
# ↑SOURCEはファイルでもGCSバケットでもいい
Specs:
- 要素が改行を含むデータを取り込むには、該当要素を
--quote
文字(デフォルトは"
)で囲み、--allow_quoted_newlines
(デフォルトfalse)を指定する- 更に、該当要素が元々
"
を含む場合、""
でエスケープする必要がある。
- 更に、該当要素が元々
参考:
ls
- https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja#bq_ls
- https://cloud.google.com/bigquery/docs/managing-jobs?hl=ja#listing_jobs
Examples:
# 現在のユーザのジョブを表示
bq ls -j myproject
# すべてのユーザのジョブを表示
bq ls -j -a myproject
# 直近10件のジョブを表示
bq ls -j -a -n 10 myproject
# JSON形式
bq ls -j --format [pretty]json
# 日時絞り込み
bq ls -j --min_creation_time $start_unixtime_ms --max_creation_time $end_unixtime_ms
mk
- https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja#bq_mk
- テーブル作成: https://cloud.google.com/bigquery/docs/tables?hl=ja
Syntax:
bq mk \
--table \
--expiration integer \
--description description \
--label key:value, key:value \
project_id:dataset.table \
schema
schema
… field:data_type,field:data_type という形式のインラインスキーマ定義か、ローカルマシン上のJSONスキーマファイルのパス
rm
- https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja#bq_rm
- https://cloud.google.com/bigquery/docs/managing-tables#bq_4
# データセットの削除
bq rm [OPTIONS] -d|--dataset PROJECT_ID:DATASET
# テーブルの削除
bq rm [OPTIONS] -t|--table PROJECT_ID:DATASET.TABLE
Options:
Option | 意味 |
---|---|
-f,--force | 指定するとプロンプトを表示せずに削除を実行。デフォルトはfalse |
show
- https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja#bq_show
- データセットの情報表示: https://cloud.google.com/bigquery/docs/dataset-metadata?hl=ja
# schemaをJSON形式で表示
bq show --schema --format=prettyjson PROJECT_ID:DATASET.TABLE
# ジョブの詳細情報を取得
bq show --format=prettyjson -j JOB_ID
参考:
最終更新 2021-05-13: [jq,bq,google/sheet] Add some memo (105557db9)