bq

BigQuery操作CLI

リファレンス: https://cloud.google.com/bigquery/docs/reference/bq-cli-reference?hl=ja

関連ページ

cp

Examples:

bq --location=LOCATION cp [OPTIONS] \
  project_id:dataset.source_table project_id:dataset.destination_table
Optionデフォルト機能
-a, --append_tablefalse指定すると元のテーブルがコピーされて既存の宛先テーブルに追加される
-f, --forcefalse指定すると宛先テーブルが存在する場合にプロンプト表示なしで上書きされる
-n, --no_clobberfalse指定すると宛先テーブルが存在する場合は上書きしない

load

ドキュメント:

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

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

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

# データセットの削除
bq rm [OPTIONS] -d|--dataset PROJECT_ID:DATASET

# テーブルの削除
bq rm [OPTIONS] -t|--table PROJECT_ID:DATASET.TABLE

Options:

Option意味
-f,--force指定するとプロンプトを表示せずに削除を実行。デフォルトはfalse

show

# schemaをJSON形式で表示
bq show --schema --format=prettyjson PROJECT_ID:DATASET.TABLE

# ジョブの詳細情報を取得
bq show --format=prettyjson -j JOB_ID

参考: