コマンドライン ツール リファレンス

このドキュメントでは、bq コマンドライン ツールのコマンドとフラグについて詳しく説明します。bq コマンドライン ツールの使用については、bq コマンドライン ツールの使用をご覧ください。

グローバル フラグ

bq コマンドライン ツールとともに、次のようなグローバル フラグを使用できます。

[DEPRECATED] bq 承認フラグ

bq 承認フラグは非推奨です。bq コマンドライン ツールの承認を構成するには、Cloud SDK ツールの承認をご覧ください。

--application_default_credential_file
詳細については、サーバー間での本番環境アプリケーションの認証の設定をご覧ください。デフォルト値は '' です。
--credential_file
OAuth トークンの格納に使用されるファイル名。デフォルト値は $HOME/.bigquery.v2.token です。
--service_account
このサービス アカウントのメールアドレスを承認に使用します。例: 1234567890@developer.gserviceaccount.com。デフォルト値は '' です。
--service_account_credential_file
サービス アカウントの認証情報ストアとして使用されるファイル。サービス アカウントを使用している場合は、このフラグを設定する必要があります。
--service_account_private_key_file
サービス アカウントの秘密鍵を含むファイル。--service_account フラグが指定されている場合、このフラグは必須です。デフォルト値は '' です。
--service_account_private_key_password
秘密鍵のパスワード。このパスワードは、鍵の作成時に鍵に設定したパスワードと一致する必要があります。デフォルト値は notasecret です。
--use_gce_service_account
Google Compute Engine インスタンスでの実行の際に、保存されている認証情報ではなくサービス アカウントの認証情報を使用するには、このフラグを指定します。詳細については、インスタンスのサービス アカウントの作成と有効化をご覧ください。デフォルト値は false です。

bq グローバル フラグ

--api
呼び出す API エンドポイント。デフォルト値は https://www.googleapis.com です。

--api_version使用する API バージョン。デフォルトは v2 です。

--apilog
すべての API のリクエストとレスポンスを、このフラグで指定されたファイルに記録します。stdoutstderr も使用できます。空の文字列('')を指定すると、stdout になります。
--bigqueryrc
bq コマンドライン ツールの構成ファイルへのパス。構成ファイルで、任意のフラグの新しいデフォルト値を指定します。コマンドラインでフラグを指定することで構成ファイルをオーバーライドできます。--bigqueryrc フラグが指定されていない場合は、BIGQUERYRC 環境変数が使用されます。これが指定されていない場合は、パス ~/.bigqueryrc が使用されます。デフォルト値は $HOME/.bigqueryrc です。
--ca_certificates_file
CA 証明書ファイルの場所。デフォルト値は '' です。
--dataset_id
リクエストに使用するデフォルトのデータセット。このフラグは、適用できない場合は無視されます。値は project_id:dataset または dataset に設定できます。project_id が欠落している場合は、デフォルトのプロジェクトが使用されます。--project_id フラグを指定することで、この設定をオーバーライドできます。デフォルト値は '' です。
--debug_mode
Python 例外のトレースバックを表示します。デフォルト値は false です。
--disable_ssl_validation
HTTPS 証明書の検証を無効にします。デフォルト値は false です。
--discovery_file
検索対象として読み取る JSON ファイルのファイル名。デフォルト値は '' です。
--enable_gdrive
true に設定すると、GDrive のスコープを持つ新しい OAuth トークンがリクエストされます。false に設定すると、GDrive のスコープを持たない新しい OAuth トークンがリクエストされます。
--fingerprint_job_id
ジョブ構成のフィンガープリントから導出されたジョブ ID を使用するかどうか。これにより、同じジョブが誤って複数回実行されなくなります。デフォルト値は false です。
--flagfile
指定すると、指定したファイルのフラグ定義が bq コマンドライン ツールに挿入されます。デフォルト値は '' です。
--format

コマンドの出力の形式を指定します。以下のようなオプションがあります。

  • pretty: フォーマットされたテーブルの出力
  • sparse: より簡単なテーブル出力
  • prettyjson: 読みやすい JSON 形式
  • json: 可能な限り圧縮した JSON 形式
  • csv: ヘッダー付き CSV 形式

prettysparseprettyjson は、人が読めるように意図されています。jsoncsv は、他のプログラムに渡すためのものです。none を指定すると、出力が生成されません。--format フラグが指定されていない場合、コマンドに基づいて適切な出力形式が選択されます。

--headless

ユーザー操作なしで bq セッションを実行するかどうかを指定します。true に設定すると、操作が無効になります。たとえば、debug_mode で中断してデバッガに入ることがなくなり、情報出力の頻度が低くなります。デフォルト値は false です。

--job_id

リクエストに使用する固有のジョブ ID。ジョブ作成リクエストで指定されていない場合、ジョブ ID が生成されます。このフラグは、ジョブを作成するコマンド(cpextractloadquery)にのみ適用されます。詳細については、プログラムでのジョブの実行をご覧ください。

--job_property

ジョブ構成のプロパティ フィールドに追加する Key-Value ペア。追加のプロパティを指定するには、このフラグを繰り返します。

--location

該当するリージョンまたはマルチリージョン ロケーションに対応する文字列。-j フラグを使用してジョブに関する情報を表示する場合、cancel コマンドおよび show コマンドにはロケーション フラグが必須です。次のコマンドでは、ロケーション フラグはオプションです。

他のすべてのコマンドでは、--location フラグは無視されます。

--max_rows_per_request

読み取りごとに返される行の最大数を指定する整数。

--project_id

リクエストに使用するプロジェクト ID。デフォルト値は '' です。

--proxy_address

Google Cloud への接続に使用するプロキシホストの名前または IP アドレス。デフォルト値は '' です。

--proxy_password

プロキシホストで認証するときに使用するパスワード。デフォルト値は '' です。

--proxy_port

プロキシホストへの接続に使用するポート番号。デフォルト値は '' です。

--proxy_username

プロキシホストで認証するときに使用するユーザー名。デフォルト値は '' です。

--quiet または -q

true に設定すると、ジョブの実行中にステータスの更新を無視します。デフォルト値は false です。

--synchronous_mode または -sync

true に設定した場合、コマンドが完了するのを待ってから結果を返し、ジョブ完了ステータスをエラーコードとして使用します。false に設定した場合、ジョブが作成された後、正常完了ステータスがエラーコードとして使用されます。デフォルト値は true です。

--trace

API リクエストに含められて、token:token と指定されるトレース トークンです。

コマンド固有のフラグ

bq コマンドライン ツールでは、次のコマンドフラグを使用できます。

bq cancel

cancel コマンドは、ジョブをキャンセルするために使用されます。cancel コマンドには、コマンド固有のフラグはありません。

cancel コマンドの使用方法について詳しくは、ジョブの管理をご覧ください。

cancel コマンドでは、次のグローバル フラグを使用します。

--job_id
キャンセル リクエストに使用する固有のジョブ ID。--job_id フラグを使用せずにジョブ ID を指定できます(例: bq cancel [JOB_ID])。
--synchronous_mode または --sync
指定された場合は、コマンドが完了するまで待機してから結果を返します。false に設定すると、すぐにコマンドの結果が返されます。デフォルト値は true です。

bq cp

cp コマンドは、テーブルのコピーに使用されます。cp コマンドでは、次のコマンド固有のフラグを使用します。

cp コマンドの使用方法について詳しくは、テーブルの管理をご覧ください。

--append_table または -a
指定すると、テーブルがコピーされて既存のテーブルに追加されます。デフォルト値は false です。
--destination_kms_key
宛先テーブルデータの暗号化に使用される Cloud KMS 鍵。
--force または -f
指定すると、宛先テーブルが存在する場合は、プロンプトが表示されずに上書きされます。デフォルト値は false です。
--no_clobber または -n
指定すると、宛先テーブルが存在する場合に、上書きされなくなります。デフォルト値は false です。

bq extract

extract コマンドは、テーブルデータを Cloud Storage にエクスポートするために使用します。

extract コマンドの使用方法について詳しくは、テーブルデータのエクスポートをご覧ください。

extract コマンドでは、次のコマンド固有のフラグを使用します。

--compression
エクスポートされるファイルに適用される圧縮形式。有効な値は GZIP(CSV と JSON のみ)、DEFLATE(Avro のみ)、SNAPPY(Avro のみ)、NONE です。デフォルト値は NONE です。
--destination_format

エクスポートされるデータの形式。有効な値は次のとおりです。

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO

デフォルト値は CSV です。

--field_delimiter または -F

CSV エクスポートの出力ファイル内での列間の境界を示す文字。タブ区切り文字には \ttab の両方を使用できます。

--print_header

指定すると、ヘッダーを持つ形式でヘッダー行が出力されます。デフォルト値は true です。

bq head

head コマンドを実行すると、テーブルの行が表示されます。

head コマンドの使用方法について詳しくは、テーブルデータの管理をご覧ください。

head コマンドでは、次のコマンド固有のフラグを使用します。

--job または -j
クエリジョブの結果を読み取るには、このフラグに有効なジョブ ID を指定します。デフォルト値は false です。
--max_rows または -n
テーブルデータを表示するときに出力する行数を示す整数。デフォルト値は 100 です。
--selected_fields または -c
テーブルデータを表示するときに返されるフィールドのサブセット(ネストされたフィールドと繰り返しフィールドを含む)を示すカンマ区切りのリスト。指定しない場合は、すべての列が取得されます。
--start_row または -s
テーブルデータを表示する前にスキップする行数を示す整数。デフォルト値は 0(最初の行から開始)です。
--table または -t
テーブルから行を読み取るには、このフラグにテーブル ID を指定します。デフォルト値は false です。

bq insert

insert コマンドを使用すると、ストリーミング バッファを介して、改行で区切られた JSON 形式のデータの行を挿入できます。データ型は宛先テーブルのデータ型に合わせて変換されます。このコマンドは、テストのみを目的としています。BigQuery にデータをストリーミングするには、insertAll API メソッドを使用します。

詳しくは、BigQuery へのデータのストリーミングをご覧ください。

insert コマンドでは、次のコマンド固有のフラグを使用します。

--ignore_unknown_values または -i
このフラグを指定すると、テーブルのスキーマに存在しない行の値がすべて無視されます。
--skip_invalid_rows または -s
このフラグを指定すると、無効な行が存在する場合でも、有効な行の挿入が試行されます。
--template_suffix または -x
このフラグを指定すると、宛先テーブルが基本テンプレートとして扱われ、{destination}{templateSuffix} という名前のインスタンス テーブルに行が挿入されます。BigQuery で、基本テンプレートのスキーマを使用したインスタンス テーブルの作成が管理されます。

bq load

load コマンドを実行すると、テーブルにデータが読み込まれます。

load コマンドを使用した Cloud Storage からのデータ読み込みの詳細については、以下をご覧ください。

load コマンドを使用してローカルソースからデータを読み込む方法について詳しくは、ローカル データソースから BigQuery にデータを読み込むをご覧ください。

load コマンドでは、次のコマンド固有のフラグを使用します。

--allow_jagged_rows
指定すると、CSV データで末尾のオプションの列を欠落させることができます。
--allow_quoted_newlines
指定すると、CSV データ中で、引用符で囲まれた改行が許可されます。
--autodetect
指定すると、CSV および JSON データのスキーマ自動検出が有効になります。
--clustering_fields
最大 4 つの列名のカンマ区切りのリスト。
--destination_kms_key
宛先テーブルデータの暗号化に使用される Cloud KMS 鍵。
--encoding または -E
データで使用される文字エンコーディング。有効な値は次のとおりです。
  • ISO-8859-1(Latin-1 とも呼ばれます)
  • UTF-8
--field_delimiter または -F
データ内の列間の境界を示す文字。タブ区切り文字には \ttab の両方を使用できます。
--ignore_unknown_values
CSV ファイルと JSON ファイルに対してこれを指定すると、テーブル スキーマと一致しない余分な列値を持つ行は無視されて読み込まれません。同様に、Avro ファイル、Parquet ファイル、ORC ファイルについては、テーブル スキーマに存在しないファイル スキーマのフィールドは無視され、読み込まれません。
--max_bad_records
ジョブ全体が失敗する前に許容される不良レコードの最大数を指定する整数。デフォルト値は 0 です。--max_bad_records の値にかかわらず、最大で 5 つの任意のタイプのエラーが返されます。
--null_marker
CSV データの NULL 値を表すオプションのカスタム文字列。
--projection_fields
DATASTORE_BACKUP に設定された --source_format とともに使用する場合は、Datastore のエクスポートから読み込むエンティティ プロパティを、カンマ区切りのリストで示します。プロパティ名では大文字と小文字が区別され、最上位のプロパティを参照する必要があります。デフォルト値は '' です。このフラグは Firestore のエクスポートでも使用できます。
--quote
レコードを囲むために使用する引用符。デフォルト値は " です。引用符を使用しない場合は、空の文字列を使用します。
--replace
指定すると、新しいデータの読み込み時に既存のデータとスキーマが消去されます。--destination_kms_key フラグを指定しない限り、Cloud KMS 鍵も削除されます。デフォルト値は false です。
--schema
ローカルの JSON スキーマ ファイルへのパス、または field:data_type, field:data_type 形式の列定義のカンマ区切りのリスト。
--schema_update_option

(読み込みジョブまたはクエリジョブで)テーブルにデータを追加するとき、またはテーブル パーティションを上書きするときに、宛先テーブルのスキーマを更新する方法を指定します。有効な値は次のとおりです。

  • ALLOW_FIELD_ADDITION: 新しいフィールドの追加を許可します。
  • ALLOW_FIELD_RELAXATION: REQUIRED フィールドを NULLABLE に緩和することを許可します。

複数のスキーマ更新オプションを指定するには、このフラグを繰り返します。

--skip_leading_rows

ソースファイルの先頭でスキップする行数を指定する整数。

--source_format

ソースデータの形式。有効な値は次のとおりです。

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • PARQUET
  • ORC
--time_partitioning_expiration

時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。

--time_partitioning_field

時間ベースのパーティションの作成方法を決定するために使用されるフィールド。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは読み込み時間に基づいてパーティショニングされます。

--time_partitioning_type

テーブルでの時間ベースのパーティショニングを有効にし、パーティション タイプを設定します。有効な値は DAY または HOUR などです。

--use_avro_logical_types

: sourceFormatAVRO に設定されている場合、論理型を対応する型(TIMESTAMP など)に変換するかどうかを示します。変換する場合、通常使用する未加工の型(INTEGER など)の代わりにその型が使用されます。

bq ls

ls コマンドを実行すると、コレクション内のオブジェクトが一覧表示されます。

ls コマンドの使用方法について詳しくは、以下をご覧ください。

ls コマンドでは、次のコマンド固有のフラグを使用します。

--all または -a
このフラグを指定すると、すべてのユーザーまたはすべてのデータセットからのジョブ(非表示のものを含む)のすべての結果が表示されます。転送構成または転送実行を一覧表示する場合、このフラグは必要ありません。
--capacity_commitment
このフラグを指定すると、容量コミットメントが一覧表示されます。デフォルト値は false です。
--datasets または -d
このフラグを指定すると、データセットが一覧表示されます。デフォルト値は false です。
--filter
フィルタ式に一致するデータセットが一覧表示されます。labels.key:value という形式のラベルキーと値のスペース区切りリストを使用します。 転送構成については、dataSourceIds:data_sources 形式のフィルタ式によって、指定されたデータソースの転送構成が一覧表示されます。有効な値は次のとおりです。
  • dcm_dt: キャンペーン マネージャー
  • dcm_dt: キャンペーン マネージャー
  • google_cloud_storage: クラウド ストレージ
  • dfp_dt: Google アド マネージャー
  • adwords: Google 広告
  • merchant_center: Google Merchant Center
  • play: Google Play
  • doubleclick_search: 検索広告 360
  • youtube_channel: YouTube - チャンネル レポート
  • youtube_content_owner: YouTube - コンテンツ所有者レポート

また、転送実行については、states:state 形式のフィルタ式によって、指定された状態の転送実行が一覧表示されます。有効な値は次のとおりです。

  • SUCCEEDED
  • FAILED
  • PENDING
  • RUNNING
  • CANCELLED
--jobs または -j
指定すると、ジョブが一覧表示されます。デフォルト値は false です。デフォルトでは、結果は 100,000 件に制限されています。
--max_creation_time
タイムスタンプをミリ秒単位で表す整数。-j フラグを付けて指定すると、タイムスタンプより前に作成されたジョブが一覧表示されます。
--max_results または -n
結果の最大数を示す整数。デフォルト値は 50 です。
--min_creation_time
タイムスタンプをミリ秒単位で表す整数。-j フラグを付けて指定すると、タイムスタンプより後に作成されたジョブが一覧表示されます。
--message_type

特定のタイプの転送実行ログメッセージを一覧表示するには、messageTypes:message_type を指定します。有効な値は次のとおりです。

  • INFO
  • WARNING
  • ERROR
--models または -m

指定すると、BigQuery ML モデルが一覧表示されます。

--page_token または -k

指定すると、このページトークンから始まる項目が一覧表示されます。

--projects または -p

指定すると、すべてのプロジェクトが表示されます。デフォルト値は false です。

--reservation

指定すると、特定のプロジェクトとロケーションのすべての予約が一覧表示されます。デフォルト値は false です。

--reservation_assignment

指定すると、特定のプロジェクトとロケーションのすべての予約割り当てが一覧表示されます。デフォルト値は false です。

--run_attempt

転送の最近の実行のみを一覧表示するには、このフラグを LATEST に設定します。

--transfer_config

指定すると、転送構成が一覧表示されます。このフラグを使用する場合は、--transfer_location も指定する必要があります。デフォルト値は false です。

--transfer_location

指定されたロケーションの転送構成が一覧表示されます。転送が作成されるときに、転送ロケーションを設定してください。

--transfer_log

指定すると、指定された転送実行の転送ログメッセージが一覧表示されます。デフォルト値は false です。

--transfer_run

指定すると、転送実行が一覧表示されます。デフォルト値は false です。

bq mk

mk コマンドを実行すると、データセット、テーブル、ビュー、マテリアライズド ビュー、転送構成など、さまざまな BigQuery リソースが作成されます。

mk コマンドは、作成するリソースのタイプを指定するタイプフラグと、リソースタイプに応じた他のフラグを受け取ります。

bq mk TYPE_FLAG [ OTHER FLAGS ] [ ARGS ]

TYPE_FLAG は次のいずれかになります。

以下に示すコマンド固有のフラグに加えて、bq mk では次のフラグをサポートしています。

--force または -f
同じ名前を持つリソースがすでに存在する場合は、エラーを無視します。指定すると、リソースがすでに存在する場合に、終了コードが 0 になります。このフラグによって mk コマンドがリソースを上書きすることはありません。デフォルト値は false です。

bq mk --capacity_commitment

容量コミットメントを購入します。詳細については、コミットメントの操作をご覧ください。次のフラグがサポートされています。

--location
プロジェクトのロケーション。
--plan
プランのタイプFLEXMONTHLYANNUAL のいずれか。
--project_id
スロットを管理するプロジェクトのプロジェクト ID。
--slots
購入するスロットの数。

bq mk --dataset

データセットを作成します。詳細については、データセットの作成をご覧ください。次のフラグがサポートされています。

--data_location
(レガシー)データセットのロケーションを指定します。--location グローバル フラグを代わりに使用してください。
--default_kms_key
テーブルの作成中またはクエリ中に明示的な鍵が指定されていない場合に、データセットのテーブルデータを暗号化するために使用される Cloud KMS 鍵。
--default_partition_expiration
データセット内に新しく作成されるパーティション分割テーブルのすべてのパーティションに対して、デフォルトの有効期限を秒単位で指定する整数。パーティションの日付(UTC)にこの整数値を足した値がパーティションの有効期限になります。このプロパティを設定すると、データセット レベルのデフォルトのテーブル有効期限が存在する場合には、それをオーバーライドします。パーティション分割テーブルの作成時または更新時に --time_partitioning_expiration フラグを指定した場合は、データセット レベルのデフォルトのパーティション有効期限よりもテーブルレベルのパーティション有効期限が優先されます。
--default_table_expiration
データセットに新しく作成されるテーブルのデフォルト存続期間を秒単位で指定する整数。現在の UTC 時間にこの値を足した値が、有効期限に設定されます。
--description
データセットの説明。
--label
データセットのラベル。形式は key:value です。複数のラベルを指定するには、このフラグを繰り返します。

bq mk --materialized_view

マテリアライズド ビューを作成します。次のフラグがサポートされています。

--enable_refresh
マテリアライズド ビューで自動更新が有効にされているかどうか。マテリアライズド ビューを作成する場合のデフォルトは true です。
--refresh_interval_ms
マテリアライズド ビューの更新間隔(ミリ秒単位)。指定しない場合、更新が有効になっているマテリアライズド ビューの更新間隔は 1,800,000 ミリ秒(30 分)です。

詳細については、マテリアライズド ビューの作成と使用をご覧ください。

bq mk --reservation

専用のスロットを使用して予約を作成します。詳細については、予約の操作をご覧ください。次のフラグがサポートされています。

--location
プロジェクトのロケーション。
--project_id
予約を所有するプロジェクトのプロジェクト ID。
--slots
この予約に割り当てるスロットの数。
--use_idle_slots
true の場合、この予約で実行されているジョブは、他の予約のアイドル スロットと予約に割り当てられていないスロットを使用できます。デフォルト値は true です。詳細については、アイドル スロットをご覧ください。

bq mk --reservation_assignment

プロジェクト、フォルダ、または組織を予約に割り当てます。詳細については、割り当ての操作をご覧ください。次のフラグがサポートされています。

--assignee_id
フォルダ、組織、プロジェクトの ID。
--assignee_type
予約に割り当てるエンティティのタイプ。FOLDERORGANIZATIONPROJECT のいずれか。
--job_type
予約に割り当てるジョブのタイプ。QUERYPIPELINEML_EXTERNAL のいずれか。
--location
プロジェクトのロケーション。
--project_id
予約を所有するプロジェクトのプロジェクト ID。
reservation_id
予約の ID。

bq mk --table

テーブルを作成します。詳細については、テーブルの作成と使用をご覧ください。次のフラグがサポートされています。

--clustering_fields
テーブルのクラスタ化に使用するカンマ区切りの列名のリスト。指定すると、テーブルは指定された列を使用してクラスタ化されます。パーティショニングで指定すると、テーブルはまず分割され、各パーティションは指定した列を使用してクラスタ化されます。
--description
テーブルの説明。
--destination_kms_key
テーブルデータを暗号化するために使用される Cloud KMS 鍵。
--expiration
テーブルの有効期限を指定する整数。現在の UTC 時間にこの値を足した値が、有効期限に設定されます。
--external_table_definition
外部テーブルの作成に使用されるテーブル定義を指定します。値は、インライン テーブル定義、または JSON テーブル定義を含むファイルへのパスのいずれかです。インライン定義の形式は schema@format=uri です。
--label
テーブルに設定するラベル。形式は key:value です。複数のラベルを指定するには、このフラグを繰り返します。
--range_partitioning

column_name,start,end,interval 形式のカンマ区切りのリストとして、整数範囲パーティションのオプションを指定します。ここで、

  • column_name は整数範囲パーティションを作成するために使用される列です。
  • start は範囲パーティショニングの開始値です。パーティションにはこの値も含まれます。
  • end は範囲パーティショニングの終了値です。パーティションにこの値は含まれません。
  • interval はパーティション内の各範囲の幅です。
--require_partition_filter

指定したテーブルへのクエリに対して、パーティション フィルタを要求するかどうかを指定します。このフラグは分割テーブルにのみ適用されます。デフォルト値は false です。

--schema

ローカルの JSON スキーマ ファイルへのパス、または field:data_type,field:data_type 形式の列定義のカンマ区切りリスト。デフォルト値は '' です。

--time_partitioning_expiration

時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。

--time_partitioning_field

時間ベースのパーティションの作成方法を決定するために使用されるフィールド。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは読み込み時間に基づいてパーティショニングされます。

--time_partitioning_type

テーブルでの時間ベースのパーティショニングを有効にし、パーティション タイプを設定します。有効な値は DAY または HOUR などです。

bq mk --transfer_config

転送構成を作成します。次のフラグがサポートされています。

--data_source
データソースを指定します。転送構成を作成する場合は必須です。有効な値は次のとおりです。
  • dcm_dt: キャンペーン マネージャー
  • dcm_dt: キャンペーン マネージャー
  • google_cloud_storage: クラウド ストレージ
  • dfp_dt: Google アド マネージャー
  • adwords: Google 広告
  • merchant_center: Google Merchant Center
  • play: Google Play
  • doubleclick_search: 検索広告 360
  • youtube_channel: YouTube - チャンネル レポート
  • youtube_content_owner: YouTube - コンテンツ所有者レポート

デフォルト値は '' です。

--display_name
転送構成の表示名。デフォルト値は '' です。
--params または -p
転送構成のパラメータを JSON 形式で指定します。{"parameter":"value"}。パラメータは、データソースによって異なります。詳細については、BigQuery Data Transfer Service の概要をご覧ください。
--refresh_window_days
転送構成の更新間隔を日数で指定する整数。デフォルト値は 0 です。
--target_dataset
転送構成のターゲット データセット。 デフォルト値は '' です。

BigQuery Data Transfer Service における mk コマンドの使用については、以下をご覧ください。

bq mk --transfer_run

転送実行を作成します。次のフラグがサポートされています。

--start_time
転送実行の範囲の開始時間を指定するタイムスタンプ。タイムスタンプの形式は RFC3339 UTC の「Zulu」です。
--end_time
転送実行の範囲の終了時間を指定するタイムスタンプ。タイムスタンプの形式は RFC3339 UTC の「Zulu」です。

bq mk --view

ビューを作成します。詳細については、ビューの作成をご覧ください。次のフラグがサポートされています。

--description
ビューの説明。
--expiration
ビューの有効期限を指定する整数。現在の UTC 時間にこの値を足した値が、有効期限に設定されます。
--label
ビューに設定するラベル。形式は key:value です。複数のラベルを指定するには、このフラグを繰り返します。
--use_legacy_sql
false に設定した場合は、標準 SQL クエリを使用してビューを作成します。デフォルト値は true です(レガシー SQL を使用します)。
--view_udf_resource
Cloud Storage URI、またはビューの SQL クエリで使用されるユーザー定義関数リソースとして読み込まれてすぐに評価されるローカル コードファイルのパス。複数のファイルを指定するには、このフラグを繰り返します。

bq mkdef

mkdef コマンドを実行すると、Cloud Storage またはドライブに保存されているデータ用の JSON 形式のテーブル定義が作成されます。

mkdef コマンドの使用方法について詳しくは、外部データソースに対するテーブル定義ファイルの作成をご覧ください。

mkdef コマンドでは、次のコマンド固有のフラグを使用します。

--autodetect
指定すると、CSV および JSON データのスキーマ自動検出が使用されます。
--ignore_unknown_values または -i
指定すると、スキーマに存在しない行の値がすべて無視されます。
--source_format
ソースデータの形式。有効な値は次のとおりです。
  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • GOOGLE_SHEETS デフォルト値は CSV です。

bq partition

partition コマンドは、日付指定のテーブル(YYYYMMDD で終わるもの)をパーティション分割テーブルに変換するために使用されます。

partition コマンドの使用方法について詳しくは、日付別テーブルの取り込み時間パーティション分割テーブルへの変換をご覧ください。

partition コマンドでは、次のコマンド固有のフラグを使用します。

--no_clobber または -n
指定すると、既存のパーティションが上書きされなくなります。デフォルト値は false です。
--time_partitioning_expiration
時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。
--time_partitioning_type
パーティション タイプを指定します。有効な値は DAY または HOUR などです。

bq query

query コマンドを実行すると、指定された SQL クエリを実行するクエリジョブが作成されます。

query コマンドの使用方法について詳しくは、インタラクティブ クエリとバッチクエリの実行をご覧ください。

query コマンドでは、次のコマンド固有のフラグを使用します。

--allow_large_results
指定すると、レガシー SQL クエリで大きいサイズの宛先テーブルが有効になります。
--append_table
指定すると、データが宛先テーブルに追加されます。デフォルト値は false です。
--batch
指定すると、クエリがバッチモードで実行されます。デフォルト値は false です。
--clustering_fields
指定した場合、クエリ内の宛先テーブルのクラスタ化にカンマ区切りの列のリストが使用されます。指定すると、テーブルは指定された列を使用してクラスタ化されます。パーティショニングで指定すると、テーブルはまず分割され、各パーティションは指定した列を使用してクラスタ化されます。
--destination_kms_key
宛先テーブルのデータを暗号化するために使用される Cloud KMS 鍵。
--destination_schema
ローカルの JSON スキーマ ファイルへのパス、または field:data_type,field:data_type 形式の列定義のカンマ区切りリスト。デフォルト値は '' です。
--destination_table
クエリ結果の書き込み先である宛先テーブルの名前。デフォルト値は '' です。
--dry_run
指定すると、クエリは検証されますが実行されません。
--external_table_definition
外部テーブルクエリで使用されるテーブル名とスキーマ定義。スキーマは、ローカルの JSON スキーマ ファイルへのパス、または field:data_type,field:data_type 形式の列定義のカンマ区切りリストになります。テーブル名とスキーマを指定する形式は、table::path_to_file または table::schema@source_format=cloud_storage_uri です。複数のテーブルをクエリするには、このフラグを繰り返します。
--flatten_results
指定すると、レガシー SQL クエリの結果にネストされたフィールドと繰り返しフィールドが平坦化されます。デフォルト値は true です。
--label
クエリジョブに適用するラベル。形式は key:value です。複数のラベルを指定するには、このフラグを繰り返します。
--max_rows または -n
クエリ結果で返す行数を指定する整数。デフォルト値は 100 です。
--maximum_bytes_billed
クエリに対して課金されるバイト数を制限する整数。クエリがこのフラグで設定した上限を超える場合、そのクエリは失敗します(料金は発生しません)。指定しない場合、課金されるバイトはプロジェクトのデフォルトに設定されます。
--min_completion_ratio
[試験運用版] クエリが返される前にスキャンする必要があるデータの最小割合を指定する 0~1.0 の数値。設定されていない場合、デフォルト サーバーの値 1.0 が使用されます。
--parameter
クエリ パラメータのリストを含む JSON ファイル、または name:type:value 形式のクエリ パラメータ。空の名前を指定すると、位置パラメータが作成されます。STRING 値を使用する場合は、name::value または ::value の形式で type を省略できます。NULL を指定すると、null 値が生成されます。複数のパラメータを指定するには、このフラグを繰り返します。
--replace
指定すると、クエリ結果で宛先テーブルが上書きされます。デフォルト値は false です。
--require_cache
指定すると、キャッシュから結果を取得できる場合にのみ、クエリが実行されます。
--require_partition_filter
指定した場合、そのテーブルに対するクエリにはパーティション フィルタが必要になります。このフラグは、パーティション分割テーブルでのみ使用できます。
--rpc
指定すると、REST API の jobs.insert メソッドの代わりに RPC スタイルのクエリ API が使用されます。デフォルト値は false です。
--schedule
クエリを定期的にスケジュールされたものにします。クエリを実行する頻度を指定する必要があります。例:
  • --schedule='every 24 hours'
  • --schedule='every 3 hours'
--schema_update_option

(読み込みジョブまたはクエリジョブで)テーブルにデータを追加するとき、またはテーブル パーティションを上書きするときに、宛先テーブルのスキーマを更新する方法を指定します。有効な値は次のとおりです。

  • ALLOW_FIELD_ADDITION: 新しいフィールドの追加を許可します。
  • ALLOW_FIELD_RELAXATION: REQUIRED フィールドを NULLABLE に緩和することを許可します。

複数のスキーマ更新オプションを指定するには、このフラグを繰り返します。

--start_row または -s

クエリ結果で返す最初の行を指定する整数。デフォルト値は 0 です。

--target_dataset

--schedule とともに指定すると、スケジュールされたクエリのターゲット データセットが更新されます。この場合のクエリは DDL または DML でなければなりません。

--time_partitioning_expiration

時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。

--time_partitioning_field

時間ベースのパーティションの作成方法を決定するために使用されるフィールド。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは読み込み時間に基づいてパーティショニングされます。

--time_partitioning_type

destination_table フラグとともに使用すると、宛先テーブルのパーティション タイプを指定します。有効な値は DAY または HOUR などです。

--udf_resource

このフラグはレガシー SQL クエリにのみ適用されます。レガシー SQL クエリで読み込まれてすぐに評価されるユーザー定義関数リソースの Cloud Storage URI、またはローカル コードファイルのパスを指定します。複数のファイルを指定するには、このフラグを繰り返します。

--use_cache

指定すると、クエリ結果がキャッシュされます。デフォルト値は true です。

--use_legacy_sql

false に設定すると、標準 SQL クエリが実行されます。デフォルト値は true です(レガシー SQL を使用します)。

bq rm

rm コマンドは、容量コミットメント、データセット、モデル、予約、予約割り当て、テーブル、転送構成、ビューを削除します。

rm コマンドの使用方法について詳しくは、以下をご覧ください。

rm コマンドでは、次のコマンド固有のフラグを使用します。

--capacity_commitment
指定すると、容量コミットメントが削除されます。デフォルト値は false です。
--dataset または -d
指定すると、データセットが削除されます。デフォルト値は false です。
--force または -f
指定すると、プロンプトが表示されずに、テーブル、ビュー、モデル、またはデータセットが削除されます。デフォルト値は false です。
--model または -m
指定すると、BigQuery ML モデルが削除されます。
--recursive または -r
指定すると、データセットとデータセット内のすべてのテーブル、テーブルデータ、モデルが削除されます。デフォルト値は false です。
--reservation
指定すると、予約が削除されます。デフォルト値は false です。
--reservation_assignment
指定すると、予約割り当てが削除されます。デフォルト値は false です。
--table または -t
指定すると、テーブルが削除されます。デフォルト値は false です。
--transfer_config
指定すると、転送構成が削除されます。デフォルト値は false です。

bq show

show コマンドを実行すると、オブジェクトに関する情報が表示されます。

show コマンドの使用方法について詳しくは、以下をご覧ください。

show コマンドでは、次のコマンド固有のフラグを使用します。

--assignee_id
reservation_assignment フラグとともに使用すると、フォルダ、組織、またはプロジェクトの ID を指定します。表示する割り当て先の種類を指定するには、--assignee_type フラグを使用します。
--assignee_type
reservation_assignment フラグとともに使用すると、表示する割り当て先の種類を指定します。FOLDERORGANIZATIONPROJECT のいずれか。
--reservation
指定すると、予約に関する情報が表示されます。デフォルト値は false です。
--dataset または -d
指定すると、データセットに関する情報が表示されます。デフォルト値は false です。
--encryption_service_account
指定すると、ユーザーのサービス アカウントが存在する場合は表示され、存在しない場合はサービス アカウントが作成されます。デフォルト値は false です。
--job または -j
指定すると、ジョブに関する情報が表示されます。デフォルト値は false です。
--job_type
reservation_assignment フラグとともに使用すると、表示するジョブ予約割り当ての種類を指定します。QUERYPIPELINEML_EXTERNAL のいずれか。
--model または -m
指定すると、BigQuery ML モデルに関する情報が表示されます。
--reservation
指定すると、予約に関する情報が表示されます。デフォルト値は false です。
--reservation_assignment
指定すると、指定したフォルダ、組織、またはプロジェクトの予約割り当てに関する情報が表示されます。ターゲット リソースに明示的な割り当てがある場合は、それらが表示されます。それ以外の場合、コマンドは親リソースから継承した割り当てを表示します。たとえば、プロジェクトは親フォルダから割り当てを継承できます。このフラグを使用する場合は、--job_type--assignee_type--assignee_id フラグが適用されます。
--schema
指定すると、テーブルのスキーマのみが表示されます。デフォルト値は false です。
--transfer_config
指定すると、転送構成に関する情報が表示されます。デフォルト値は false です。
--transfer_run
指定すると、転送実行に関する情報が表示されます。デフォルト値は false です。
--view
指定すると、ビューに関する情報が表示されます。デフォルト値は false です。

bq update

update コマンドは、容量コミットメント、データセット、モデル、予約、予約割り当て、テーブル、転送構成、ビューを更新します。

update コマンドの使用方法について詳しくは、以下をご覧ください。

update コマンドでは、次のコマンド固有のフラグを使用します。

--capacity_commitment
指定すると、容量コミットメントが更新されます。デフォルト値は false です。このフラグは、--merge--plan--renewal_plan--split--slots フラグと併用します。
--clear_label
key: 形式を使用しているラベルを削除します。複数のラベルを削除するには、このフラグを繰り返します。
--dataset または -d
データセットを更新します。デフォルト値は false です。
--default_kms_key
データセットを更新するとともに、テーブル作成またはクエリの際に明示的な鍵が指定されていない場合には、データセット内のテーブルデータの暗号化に使用する Cloud KMS 鍵を設定します。
--default_partition_expiration

データセット内に新しく作成される分割テーブルのすべてのパーティションに対して、デフォルトの有効期限を秒単位で指定する整数。このフラグには最小値はありません。

パーティションの日付(UTC)にこの整数値を足した値がパーティションの有効期限になります。このプロパティを設定すると、データセット レベルのデフォルトのテーブル有効期限が存在する場合には、それをオーバーライドします。パーティション分割テーブルの作成時または更新時に --time_partitioning_expiration フラグを指定した場合、データセット レベルのデフォルトのパーティション有効期限よりもテーブルレベルのパーティション有効期限が優先されます。既存の有効期限を削除するには、0 を指定します。

--default_table_expiration

データセットの新しく作成されるテーブルのデフォルトの存続期間を秒単位で更新する整数。現在の UTC 時間にこの値を足した値が、有効期限に設定されます。既存の有効期限を削除するには、0 を指定します。

--description

データセット、テーブル、モデル、ビューの説明を更新します。

--destination_reservation_id

--reservation_assignment フラグとともに使用すると、既存の予約割り当てを指定の予約に移動します。値は、移動先の予約の ID です。詳細については、割り当てを別の予約に移動するをご覧ください。

--display_name

転送構成の表示名を更新します。デフォルト値は '' です。

--etag

etag が一致する場合にのみリソースを更新します。

--expiration

テーブル、ビュー、モデルの有効期限を秒単位で更新する整数。0 を指定すると、有効期限が削除されます。

--external_table_definition

指定されたテーブル定義で外部テーブルを更新します。スキーマは、ローカルの JSON スキーマ ファイルへのパス、または field:data_type,field:data_type 形式の列定義のカンマ区切りリストになります。テーブル名とスキーマを指定する形式は、table::path_to_file または table::schema@source_format=cloud_storage_uri です。

--merge

--capacity_commitment フラグとともに使用すると、2 つの容量コミットメントを統合します。デフォルト値は false です。詳細については、2 つのコミットメントを統合するをご覧ください。

--model または -m

BigQuery ML モデルのメタデータを更新します。

--params または -p

JSON 形式の転送構成のパラメータ({"parameter":"value"})を更新します。パラメータは、データソースによって異なります。詳細については、BigQuery Data Transfer Service の概要をご覧ください。

--plan

--capacity_commitment フラグとともに使用すると、容量コミットメントが長期コミットメント プランに変換されます。FLEXMONTHLYANNUAL のいずれか。デフォルト値は '' です。

--refresh_window_days

転送構成の更新後の更新間隔(日数)を指定する整数。

--renewal_plan

--capacity_commitment フラグとともに使用すると、既存の容量コミットメントの更新プランを指定します。FLEXMONTHLYANNUAL のいずれか。デフォルト値は '' です。

--reservation

指定すると、予約が更新されます。デフォルト値は false です。

--reservation_assignment

指定すると、予約割り当てが更新されます。デフォルト値は false です。

--schema

ローカルの JSON スキーマ ファイルへのパス、または field:data_type,field:data_type 形式の列定義のカンマ区切りリスト。デフォルト値は '' です。

--set_label

key:value 形式の更新対象のラベル。複数のラベルを更新するには、このフラグを繰り返します。

--slots

--capacity_commitment フラグと --split フラグとともに使用すると、既存の容量コミットメントから新しいコミットメントに分割するスロットの数を指定します。--reservation フラグとともに使用すると、予約のスロット数が更新されます。

--source

リソースの更新に使用されるペイロードを含むローカル JSON ファイルへのパス。たとえば、このフラグを使用して、更新された access プロパティを持つデータセット リソースを含む JSON ファイルを指定できます。このファイルは、データセットのアクセス制御を上書きするために使用されます。

--split

--capacity_commitment フラグとともに使用すると、既存の容量コミットメントが分割されます。デフォルト値は false です。詳細については、コミットメントを分割するをご覧ください。

--table または -t

指定すると、テーブルが更新されます。デフォルト値は false です。

--target_dataset

指定すると、転送構成のターゲット データセットが更新されます。デフォルト値は '' です。

--time_partitioning_expiration

時間ベースのパーティションを削除する必要があるタイミングを更新する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。

--time_partitioning_field

時間ベースのパーティションの作成方法を決定するために使用するフィールドを更新します。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは読み込み時間に基づいてパーティショニングされます。

--time_partitioning_type

パーティショニングのタイプを指定します。有効な値は DAY または HOUR などです。既存のテーブルのパーティショニング タイプは変更できません。

--transfer_config

指定すると、転送構成が更新されます。デフォルト値は false です。

--update_credentials

指定すると、転送構成の認証情報が更新されます。デフォルト値は false です。

--use_idle_slots

--reservation フラグとともに使用します。true の場合、指定された予約で実行されているジョブは、予約に割り当てられていない他の予約とスロットのアイドル スロットを使用できます。デフォルト値は true です。詳細については、アイドル スロットをご覧ください。

--use_legacy_sql

false に設定すると、ビューの SQL クエリがレガシー SQL から標準 SQL に更新されます。デフォルト値は true です(レガシー SQL を使用します)。

--view

指定すると、ビューの SQL クエリが更新されます。デフォルト値は '' です。

--view_udf_resource

Cloud Storage URI、またはビューの SQL クエリのユーザー定義関数リソースとして読み込まれてすぐに評価されるローカル コードファイルのパスを更新します。複数のファイルを指定するには、このフラグを繰り返します。

bq wait

wait コマンドを実行すると、ジョブが終了するまで数秒間待機します。

wait コマンドでは、--job_id グローバル フラグと以下のコマンド固有のフラグを使用します。

integer
待機時間を指定する 0 以上の整数値(この値はフラグではなく、コマンドラインで整数を指定します)。0 を入力すると、コマンドでジョブ完了がポーリングされて、すぐに結果が返されます。整数値を指定しない場合は、無期限に待機します。
--fail_on_error
指定すると、待機時間が経過した後で、ジョブがまだ実行中であるか、障害によって終了した場合はエラーで終了します。デフォルト値は true です。
--wait_for_status

指定すると、特定のジョブ ステータスになるまで待機してから終了します。有効な値は次のとおりです。

  • PENDING
  • RUNNING
  • DONE

デフォルト値は DONE です。