bq コマンドライン ツール リファレンス
このドキュメントでは、BigQuery 用の Python ベースのコマンドライン ツールである bq の構文、コマンド、フラグ、引数について説明します。
bq コマンドライン ツールの使用に関するチュートリアルについては、bq ツールでデータを読み込んでクエリを実行するをご覧ください。
bq コマンドライン ツールの使用方法
Cloud Shell で bq コマンドライン ツールのコマンドを入力するには、 Google Cloud コンソールまたは Google Cloud CLI のローカル インストールを使用します。
Google Cloud コンソールから bq コマンドライン ツールを使用するには、Cloud Shell をアクティブにします。
bq コマンドライン ツールをローカルで使用するには、gcloud CLI をインストールして構成します。インストールを最新の状態に保つには、gcloud CLI のドキュメントのインストールを管理するをご覧ください。
コマンドの形式
bq コマンドライン ツールは、次の形式を使用します。
bq COMMAND [FLAGS] [ARGUMENTS]
フラグの中には、bq コマンドライン ツールの複数のコマンドで使用できるものがあります。これらのフラグについては、グローバル フラグで説明します。
その他のフラグはコマンド固有です。bq コマンドライン ツールの特定のコマンドでのみ使用できます。コマンド固有のフラグについては、コマンド セクションで説明します。
フラグの値の指定
フラグの値を指定する際、等号(=)は省略できます。たとえば、次の 2 つのコマンドは同じ意味です。
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
このドキュメントでは、明確にするために等号を使用します。
bq コマンドライン ツールのフラグにはブール値をとるものがあり、そのフラグの値は true または false になります。bq コマンドライン ツールでは、ブール値フラグの設定に次の形式を使用できます。
| 値 | 形式 | 例 |
|---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
このドキュメントでは、ブール値フラグに --FLAGNAME=VALUE の形式を使用します。
どのブール値フラグも省略でき、省略した場合、BigQuery ではフラグのデフォルト値が使用されます。
引数で BigQuery リソースを指定する
リソースを指定する形式は、コンテキストによって異なります。プロジェクトとデータセットをコロン(:)で区切る場合もあれば、ピリオド(.)で区切る場合もあります。次の表では、異なるコンテキストで BigQuery テーブルを指定する方法を示します。
| コンテキスト | 形式 | 例 |
|---|---|---|
| bq コマンドライン ツール | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| GoogleSQL クエリ | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
| レガシー SQL クエリ | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
PROJECT を指定しない場合、BigQuery は現在のプロジェクトを使用します。たとえば、現在のプロジェクトが myProject の場合、BigQuery は、myDataset.myTable を myProject:myDataset.myTable(または myProject.myDataset.myTable)と解釈します。
一部のリソース識別子は、バッククォート(`)で囲む必要があります。リソース識別子が英文字かアンダースコアで始まり、英文字、数字、アンダースコアのみで構成される場合は、それを囲む必要はありません。ただし、リソース識別子に他の種類の文字や予約済みキーワードが含まれている場合は、ID(または ID の特殊文字や予約済みキーワードの部分)をバッククォートで囲む必要があります。詳細については、識別子をご覧ください。
コマンドの実行方法
グローバル フラグを bq コマンドの前に配置し、次にコマンド固有のフラグを含めます。複数のグローバル フラグまたはコマンド固有のフラグを含めることができます。次に例を示します。
bq --location=us mk --reservation --project_id=project reservation_name
コマンド引数は、次の方法で指定できます。
--FLAG ARGUMENT(前の例で示しています)--FLAG=ARGUMENT--FLAG='ARGUMENT'--FLAG="ARGUMENT"--FLAG 'ARGUMENT'--FLAG "ARGUMENT"
次のように置き換えます。
FLAG: グローバルまたはコマンド固有のフラグARGUMENT: フラグの引数
コマンドによっては、引数の前後に引用符を使用する必要があります。引用符が必要な場合は、一重引用符と二重引用符のどちらでも構いません。引用符が必要な引数は、通常、スペース、カンマ、その他の特殊文字を含む値です。引数に BigQuery リソースが含まれている場合は、コマンドでリソース名を指定するルールに従ってください。
次の例は、コマンドラインで GoogleSQL クエリを実行する方法を示しています。
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
ブール値を持つフラグは、引数なしで指定できます。true または false を指定する場合は、FLAG=ARGUMENT の形式を使用する必要があります。
たとえば、次のコマンドでは、ブール値フラグ --use_legacy_sql の前に no を指定することによって、フラグを false に設定します。
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
あるいは、フラグの引数として false を指定するには、次のように入力します。
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
スクリプトでコマンドを実行する
Google Cloud CLI コマンドを実行するように、スクリプト内で bq コマンドライン ツールを実行できます。次に、bash スクリプトの gcloud コマンドと bq コマンドの例を示します。
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
サービス アカウントを使用する
サービス アカウントを使用すると、承認された API の呼び出しを実行できます。また、ユーザーに代わってクエリジョブを実行することもできます。bq コマンドライン ツールでサービス アカウントを使用するには、サービス アカウントから Google Cloud へのアクセスを承認します。詳細については、gcloud auth activate-service-account をご覧ください。
サービス アカウントの権限を借用して bq コマンドの実行を開始するには、次のコマンドを実行します。
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
SERVICE_ACCOUNT_NAME は、実際のサービス アカウント名に置き換えます。
ここで実行する bq コマンドは、サービス アカウントの認証情報を使用します。
サービス アカウントから bq コマンドの実行を停止するには、次のコマンドを実行します。
gcloud config unset auth/impersonate_service_account
コマンドライン フラグのデフォルト値を設定する
コマンドライン フラグのデフォルト値は、bq コマンドライン ツールの構成ファイル(.bigqueryrc)に含めることで設定できます。デフォルトのオプションを構成する前に、まず .bigqueryrc ファイルを作成する必要があります。このファイルは、任意のテキスト エディタを使用して作成できます。.bigqueryrc ファイルを作成した後、--bigqueryrc グローバル フラグを使用してファイルへのパスを指定できます。
--bigqueryrc フラグが指定されていない場合は、BIGQUERYRC 環境変数が使用されます。これが指定されていない場合、パス ~/.bigqueryrc が使用されます。デフォルトのパスは $HOME/.bigqueryrc です。
.bigqueryrc にフラグを追加する方法
.bigqueryrc にコマンドライン フラグのデフォルト値を追加するには:
- ヘッダーなしでファイルの先頭にグローバル フラグを配置します。
- コマンド固有のフラグの場合は、コマンド名(大かっこ内)を入力し、コマンド名の後にコマンド固有のフラグ(1 行に 1 つ)を追加します。
次に例を示します。
--apilog=stdout --format=prettyjson --location=US [query] --use_legacy_sql=false --max_rows=100 --maximum_bytes_billed=10000000 [load] --destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey
上の例では、次のフラグにデフォルト値を設定しています。
- グローバル フラグ
--apilogがstdoutに設定されており、デバッグ出力がGoogle Cloud コンソールに出力されます。 - グローバル フラグ
--formatがprettyjsonに設定されており、人が読める JSON 形式でコマンド出力が表示されます。 - グローバル フラグ
--locationがUSマルチリージョン ロケーションに設定されています。 queryコマンド固有のフラグ--use_legacy_sqlがfalseに設定されており、GoogleSQL がデフォルトのクエリ構文になります。queryコマンド固有のフラグ--max_rowsが100に設定されており、クエリ出力の行数が制御されます。queryコマンド固有のフラグ--maximum_bytes_billedが 10,000,000 バイト(10 MB)に設定されており、10 MB を超えるデータを読み取るクエリが失敗します。loadコマンド固有のフラグ--destination_kms_keyがprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKeyに設定されています。
CLI ヘルプ
bq コマンドライン ツールのヘルプを表示するには、次のコマンドを実行します。
| 説明 | ヘルプコマンドの形式 | 例 |
|---|---|---|
| インストール バージョン | bq version |
bq version |
| 全コマンドの一覧(使用例付き) | bq help |
bq help |
| グローバル フラグの説明 | bq --help |
bq --help |
| 特定のコマンドの説明 | bq help COMMAND |
bq help mk |
トラブルシューティングの CLI コマンド
- 送受信されたリクエストをログに記録するには:
--apilog=PATH_TO_FILEフラグを追加して、オペレーションのログをローカル ファイルに保存します。PATH_TO_FILEは、ログを保存する場所に置き換えます。bq コマンドライン ツールは、標準の REST ベースの API 呼び出しを行うことで動作します。これは、トラブルシューティングを行う際に確認すると有用な場合があります。また、Cloud カスタマーケアに問題を報告するときにも、このログを添付すると有用です。パスの代わりに
-またはstdoutを使用すると、 Google Cloud コンソールにログが出力されます。--apilogをstderrに設定すると、標準のエラーファイルに出力されます。さらに多くのリクエストを記録するには、--httplib2_debuglevel=LOG_LEVELフラグを使用します。LOG_LEVELの高いログほど、HTTP リクエストについてより多くの情報が記録されます。- エラーのトラブルシューティングを行うには:
ジョブのステータスを取得する場合、またはテーブルやデータセットなどのリソースに関する詳細情報を表示する場合は、
--format=prettyjsonフラグを入力します。このフラグを使用すると、reasonプロパティを含む JSON 形式のレスポンスが出力されます。reasonプロパティを使用すると、エラー メッセージを見つけることができます。コマンドの実行時に発生したエラーの詳細については、
--debug_modeフラグを使用してください。
グローバル フラグ
次のフラグは、どの bq コマンドにも、必要に応じて使用できます。
--api=ENDPOINT- 呼び出す API エンドポイントを指定します。デフォルト値は
https://www.googleapis.comです。 --api_version=VERSION- 使用する API のバージョンを指定します。デフォルトは
v2です。 --apilog=FILEすべての API リクエストと API レスポンスを、
FILEで指定されたファイルにロギングします。使用できる値は次のとおりです。- ファイルのパス - 指定したファイルにロギングします。
stdout- 標準出力にロギングします。stderr- 標準エラーにロギングしますfalse- API リクエストと API レスポンスをロギングしません(デフォルト)。
--use_google_auth={true|false}trueに設定すると、Google Auth ライブラリを使用した認証が有効になります。デフォルト値はtrueです。--bigqueryrc=PATHbq コマンドライン ツールの構成ファイルのパスを指定します。
--bigqueryrcフラグを指定しない場合、コマンドではBIGQUERYRC環境変数が使用されます。環境変数を設定していない場合は、$HOME/.bigqueryrcが使用されます。このファイルが存在しない場合は、~/.bigqueryrcが使用されます。詳細については、コマンドライン フラグのデフォルト値の設定をご覧ください。--ca_certificates_file=PATHCertificate Authority Service(CA)ファイルの場所を指定します。
--dataset_id=DATASET_IDコマンドで使用するデフォルトのデータセットを指定します。このフラグは、適用できない場合は無視されます。
DATASET_ID引数は、PROJECT:DATASETまたはDATASETの形式で指定できます。PROJECT部分がない場合は、デフォルトのプロジェクトが使用されます。デフォルトのプロジェクト設定は、--project_idフラグを指定することでオーバーライドできます。--debug_mode={true|false}trueに設定すると、Python 例外の発生時にトレースバックが表示されます。デフォルト値はfalseです。--disable_ssl_validation={true|false}trueに設定すると、HTTPS 証明書の検証が有効になります。デフォルト値はfalseです。--discovery_file=PATH検索対象として読み取る JSON ファイルを指定します。
--enable_gdrive={true|false}falseに設定すると、Google ドライブ スコープのない新しい OAuth トークンをリクエストします。デフォルト値はtrueです。ドライブ スコープを持つ新しい OAuth トークンをリクエストします。ユーザー アカウントを使用して認証されたときにこのフラグをfalseに設定するには、--use_google_authフラグをfalseに設定する必要があります。--fingerprint_job_id={true|false}ジョブ構成のフィンガープリントから導出されたジョブ ID を使用するには、
trueに設定します。これにより、同じジョブが誤って複数回実行されなくなります。デフォルト値はfalseです。--format=FORMATコマンドの出力の形式を指定します。次の値のいずれかを使用できます。
pretty: フォーマットされたテーブルの出力sparse: より簡単なテーブル出力prettyjson: 読みやすい JSON 形式json: 可能な限り圧縮した JSON 形式csv: ヘッダー付き CSV 形式
pretty、sparse、prettyjsonは、人が読めるように意図されています。jsonとcsvは、別のプログラムが使用することを想定しています。noneを指定すると、コマンドからの出力はありません。--formatフラグを使用しない場合は、コマンドに基づいて適切な出力形式が選択されます。--headless={true|false}ユーザー操作なしで
bqセッションを実行するには、trueに設定します。たとえば、debug_modeで中断してデバッガに入ることがなくなり、情報出力の頻度が低くなります。デフォルト値はfalseです。--httplib2_debuglevel=DEBUG_LEVELHTTP デバッグ情報を表示するかどうかを指定します。
DEBUG_LEVELが0より大きい場合、このコマンドは、エラー メッセージに加えて、HTTP サーバーのリクエストとレスポンスを stderr に出力します。DEBUG_LEVELが 0 以下の場合、または--httplib2_debuglevelフラグを使用しない場合は、エラー メッセージのみが出力されます。次に例を示します。
--httplib2_debuglevel=1
--job_id=JOB_ID新しいジョブのジョブ ID を指定します。このフラグは、ジョブを作成するコマンド(
cp、extract、load、query)にのみ適用されます。--job_idフラグを使用しない場合は、コマンドによって一意のジョブ ID が生成されます。詳細については、プログラムでのジョブの実行をご覧ください。--job_property=KEY:VALUEジョブ構成のプロパティ フィールドに追加する Key-Value ペア。追加のプロパティを指定するには、このフラグを繰り返します。
--location=LOCATION該当するリージョンまたはマルチリージョンのロケーションに対応する文字列。ロケーション フラグは、
bq cancelコマンド、および、--jobsフラグを使用してジョブに関する情報を表示する際のbq showコマンドでは必須です。次のコマンドでは、ロケーション フラグはオプションです。querycploadextractpartitionupdatewaitmk(--dataset、--reservation、--capacity_commitment、--reservation_assignmentフラグを使用する場合)ls(--reservation、--capacity_commitment、--reservation_assignmentフラグを使用する場合)
他のすべてのコマンドでは、
--locationフラグは無視されます。--max_rows_per_request=MAX_ROWS読み取りごとに返される行の最大数を指定する整数。
--project_id=PROJECTコマンドに使用するプロジェクトを指定します。
--proxy_address=PROXYGoogle Cloudへの接続に使用するプロキシホストの名前または IP アドレスを指定します。
--proxy_password=PASSWORDプロキシホストで認証するときに使用するパスワードを指定します。
--proxy_port=PORTプロキシホストへの接続に使用するポート番号を指定します。
--proxy_username=USERNAMEプロキシホストで認証するときに使用するユーザー名を指定します。
--quiet={true|false}または-q={true|false}ジョブが実行されている間、ステータスの更新を抑制するには、
trueに設定します。デフォルト値はfalseです。--synchronous_mode={true|false}または-sync={true|false}ジョブを作成し、成功ステータスをエラーコードとしてすぐに戻るには、
falseに設定します。trueに設定すると、コマンドはジョブが完了するのを待ってから戻り、ジョブ完了ステータスをエラーコードとして返します。デフォルト値はtrueです。--trace=token:TOKENAPI リクエストに含めるトレース トークンを指定します。
--use_regional_endpoints={true|false}プレビュー版。リージョン エンドポイントに接続するには、
--use_regional_endpointsフラグをtrueに設定し、--locationフラグを接続先のリージョンに設定します。デフォルト値はfalseです。
非推奨のグローバル フラグ
bq コマンドライン ツールのフラグをファイルで指定する次のグローバル フラグは、非推奨になりました。ファイルでフラグを指定するには、--bigqueryrc フラグを使用します。
--flagfile=PATH
このフラグを指定すると、指定したファイルのフラグ定義が bq コマンドライン ツールに挿入されます。デフォルト値は '' です。詳細については、コマンドライン フラグのデフォルト値の設定をご覧ください。
コマンド
以降のセクションでは、bq コマンドライン ツールのコマンドと、そのコマンド固有のフラグおよび引数について説明します。
bq add-iam-policy-binding
bq add-iam-policy-binding コマンドは、テーブルやビューの Identity and Access Management(IAM)ポリシーを取得して、そのポリシーにバインディングを追加する操作を 1 ステップで行うために使用します。
このコマンドは、以下の 3 ステップの代わりに使用できます。
bq get-iam-policyコマンドを使用してポリシー ファイル(JSON 形式)を取得する。- ポリシー ファイルを編集する。
bq set-iam-policyコマンドを使用して、新しいバインディングでポリシーを更新する。
概要
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
例
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
フラグと引数
bq add-iam-policy-binding コマンドでは、次のフラグと引数を使用します。
--member=MEMBER_TYPE:MEMBER必須。
--memberフラグは、IAM ポリシー バインディングのメンバー部分を指定するために使用します。--memberフラグは--roleフラグとともに指定する必要があります。--memberと--roleの 1 つの組み合わせが、1 つのバインディングに相当します。MEMBER_TYPE値は、IAM ポリシー バインディングのメンバーの種類を指定します。次の値のいずれかを使用できます。userserviceAccountgroupdomain
MEMBER値は、IAM ポリシー バインディングのメンバーのメールアドレスか、ドメインを指定します。--role=ROLE必須。IAM ポリシー バインディングのロールの部分を指定します。
--roleフラグは、--memberフラグとともに指定する必要があります。--memberと--roleの 1 つの組み合わせが、1 つのバインディングに相当します。--table={true|false}RESOURCE引数がテーブル ID でもビュー ID でもない場合にエラーを返すには、--tableフラグをtrueに設定します。デフォルト値はfalseです。このフラグは、他のコマンドとの整合性を保つためにサポートされています。RESOURCEポリシーを追加するテーブルまたはビュー。
詳細については、IAM ポリシーのリファレンスをご覧ください。
bq cancel
bq cancel コマンドは、BigQuery ジョブをキャンセルするために使用します。
概要
bq [--synchronous_mode=false] cancel JOB_ID
例
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
フラグと引数
bq cancel コマンドでは、次のフラグと引数を使用します。
--synchronous_mode=falsebq cancelコマンドの完了を待たない場合は、グローバル--synchronous_modeフラグをfalseに設定します。デフォルトはtrueです。JOB_ID- キャンセルするジョブ。
bq cancel コマンドの使用方法の詳細については、ジョブの管理をご覧ください。
bq cp
bq cp コマンドは、次のタスクに使用します。
- テーブル、テーブル クローン、テーブル スナップショットのコピーを作成する。
- テーブル クローンを作成する。
- テーブル スナップショットを作成する。
概要
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
例
bq cp myDataset.myTable myDataset.myTableCopy
フラグと引数
bq cp コマンドでは、次のフラグと引数を使用します。
--append_table={true|false}または-a={true|false}既存のテーブルの末尾にテーブルを追加するには、
trueに設定します。デフォルト値はfalseです。フラグ設定
--append_table=trueと--clone=trueを同時に使用することはできません。--clone={true|false}テーブル クローンを作成するには、
trueに設定します。ベーステーブルは、標準のテーブル、テーブル クローン、またはテーブル スナップショットのいずれかです。宛先テーブルはテーブル クローンです。デフォルトはfalseです。--clone=trueも--snapshot=trueも指定されていない場合、宛先テーブルはベーステーブルと同じテーブルタイプになります。--no_clobberフラグが必要です。フラグ設定
--append_table=trueと--clone=trueを同時に使用することはできません。--destination_kms_key=KEY宛先テーブルのデータを暗号化する Cloud KMS 鍵のリソース ID を指定します。
次に例を示します。
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDSテーブル スナップショットが期限切れになるまでの秒数。指定しない場合、テーブル スナップショットの有効期限は、新しいテーブル スナップショットを含むデータセットのデフォルトの有効期限に設定されます。
--snapshotフラグとともに使用します。--force={true|false}または-f={true|false}宛先テーブルが存在する場合に、確認メッセージを表示せずに上書きするには、
trueに設定します。デフォルト値はfalseです。宛先テーブルが存在する場合は、上書きする前に確認メッセージが表示されます。--no_clobber={true|false}または-n={true|false}宛先テーブルが存在する場合に上書きを禁止するには、
trueに設定します。デフォルト値はfalseです。宛先テーブルが存在する場合、そのテーブルは上書きされます。--restore={true|false}このフラグは非推奨です。テーブル スナップショットから書き込み可能なテーブルを作成するには、
bq cpコマンドまたはbq cp --cloneコマンドを使用します。--snapshot={true|false}SOURCE_TABLE引数で指定されたテーブルのテーブル スナップショットを作成するには、trueに設定します。ベーステーブルは、標準のテーブル、テーブル クローン、別のテーブル スナップショットのいずれかです。デフォルトはfalseです。--clone=trueも--snapshot=trueも指定されていない場合、宛先テーブルはベーステーブルと同じテーブルタイプになります。--no_clobberフラグが必要です。SOURCE_TABLEコピー元のテーブル。
DESTINATION_TABLEコピー先のテーブル。
cp コマンドの使用方法の詳細については、以下をご覧ください。
bq extract
bq extract コマンドは、テーブルデータを Cloud Storage にエクスポートするために使用します。
概要
bq extract [FLAGS] RESOURCE DESTINATION
例
bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \ --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \ gs://myBucket/myFile.csv
フラグと引数
bq extract コマンドでは、次のフラグと引数を使用します。
--compression=COMPRESSION_TYPEエクスポート対象のファイルに使用する圧縮タイプを指定します。使用できる値は次のとおりです。
GZIPDEFLATESNAPPYNONE
デフォルト値は
NONEです。各圧縮タイプでサポートされている形式については、エクスポート形式と圧縮形式をご覧ください。
--destination_format=FORMATエクスポートされるデータの形式。使用できる値は次のとおりです。
CSVNEWLINE_DELIMITED_JSONAVROPARQUET
デフォルト値は
CSVです。--field_delimiter=DELIMITERCSV でエクスポートする場合に、出力ファイルの列の区切り文字を指定します。区切り文字には、ISO-8859-1 の任意の 1 バイト文字を使用できます。
\tまたはtabを使用することで、タブを区切り文字に指定できます。--print_header={true|false}ヘッダーがある形式のヘッダー行を出力しないようにするには、
falseに設定します。デフォルトはtrueで、ヘッダー行が含まれます。RESOURCEエクスポート元のテーブル。
DESTINATIONエクスポートされたデータを受信するストレージの場所。
bq extract コマンドの使用方法の詳細については、テーブルデータのエクスポートをご覧ください。
bq get-iam-policy
bq get-iam-policy コマンドは、リソースの IAM ポリシーを取得し、stdout に出力するために使用します。リソースには、テーブル、ビュー、スロット予約を指定できます。このポリシーは JSON 形式です。
概要
bq get-iam-policy [FLAGS] RESOURCE
例
bq get-iam-policy myDataset.myTable
bq get-iam-policy --reservation myReservation
フラグと引数
bq get-iam-policy コマンドでは、次のフラグと引数を使用します。
--table={true|false}または--t={true|false}RESOURCEがテーブル ID でもビュー ID でもない場合にエラーを返すには、--tableフラグをtrueに設定します。デフォルト値はfalseです。このフラグは、他のコマンドとの整合性を保つためにサポートされています。--reservation={true|false}- 予約の IAM ポリシーを取得するには、
true(プレビュー)に設定します。デフォルト値はfalseです。このフラグを使用すると、RESOURCEは予約 ID として扱われます。予約には、プロジェクトとロケーションの接頭辞(省略可)を指定できます:myProject:myLocation.myReservation。 RESOURCE- ポリシーを取得するテーブルまたはビュー。
bq get-iam-policy コマンドの詳細については、IAM を使用してリソースへのアクセスを制御するをご覧ください。
bq head
bq head コマンドは、テーブルの指定した行と列を表示するために使用します。デフォルトでは、最初の 100 行の全列が表示されます。
概要
bq head [FLAGS] [TABLE]
例
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
フラグと引数
bq head コマンドでは、次のフラグと引数を使用します。
--job=JOB or -j=JOB- クエリジョブの結果を読み取るには、このフラグに有効なジョブ ID を指定します。
--max_rows=MAX or -n=MAX- テーブルデータを表示するときに出力する最大行数を示す整数。デフォルト値は
100です。 --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES- テーブルデータを表示するときに返されるフィールドのサブセット(ネストされたフィールドと繰り返しフィールドを含む)を示すカンマ区切りのリスト。このフラグが指定されていない場合は、すべての列が返されます。
--start_row=START_ROW or -s=START_ROW- テーブルデータを表示する前にスキップする行数を指定する整数。デフォルト値は
0です。テーブルデータは最初の行から始まります。 --table={true|false}または-t={true|false}- コマンドの引数がテーブルでもビューでもない場合にエラーを返すには、
trueに設定します。デフォルト値はfalseです。このフラグは、他のコマンドとの整合性を保つためにサポートされています。 TABLE- データを取得するテーブル。
bq head コマンドの使用方法の詳細については、テーブルデータの管理をご覧ください。
bq help
ツール内で bq コマンドライン ツールのドキュメントを表示するには、bq help コマンドを使用します。
概要
bq help [COMMAND]
フラグと引数
bq help コマンドでは、次のフラグと引数を使用します。
COMMAND- オンライン ヘルプを取得する bq コマンドライン ツールの特定のコマンドを指定します。
bq insert
bq insert コマンドは、ストリーミング挿入を使用して、改行で区切られた JSON 形式のデータの行をファイルからテーブルに挿入するために使用します。データ型は宛先テーブルの列の型に合わせて変換されます。このコマンドは、テストのみを目的としています。BigQuery にデータをストリーミングするには、insertAll API メソッドを使用します。
概要
bq insert [FLAGS] TABLE FILE
例
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
フラグと引数
bq insert コマンドでは、次のフラグと引数を使用します。
--ignore_unknown_values={true|false}または-i={true|false}trueに設定すると、BigQuery はテーブルのスキーマと一致しない Key-Value ペアを無視し、スキーマに一致するデータがある行を挿入します。falseに設定すると、テーブルのスキーマと一致しないデータがある行は挿入されません。デフォルトはfalseです。--skip_invalid_rows={true|false}または-s={true|false}trueに設定すると、BigQuery は、無効な行がある場合でも、有効な行の挿入を試みます。falseに設定すると、無効な行がある場合、コマンドは失敗します。デフォルトはfalseです。--template_suffix=SUFFIX or -x=SUFFIX- このフラグを指定すると、宛先テーブル TABLE が基本テンプレートとして扱われ、
{destination}{templateSuffix}という名前のインスタンス テーブルに行が挿入されます。BigQuery により、基本テンプレートのスキーマを使用してインスタンス テーブルが作成されます。 TABLE- データを挿入するテーブル。
FILE- 挿入するデータを含むファイル。
bq insert コマンドの使用方法の詳細については、BigQuery へのデータのストリーミングをご覧ください。
bq load
bq load コマンドは、テーブルにデータを読み込むために使用します。
概要
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
例
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
フラグと引数
bq load コマンドでは、次のフラグと引数を使用します。
--allow_jagged_rows={true|false}- CSV データで末尾の必須でない列の欠落を許可するには、
trueに設定します。 --preserve_ascii_control_characters={true|false}- CSV データで埋め込み ASCII 制御文字を許可するには、
trueに設定します。 --allow_quoted_newlines={true|false}- CSV データ内に引用符で囲まれた改行を許可するには、
trueに設定します。 --autodetect={true|false}- CSV データおよび JSON データのスキーマの自動検出を有効にするには、
trueに設定します。デフォルトはfalseです。--autodetectがfalseで、--schemaフラグでスキーマが指定されず、宛先テーブルが存在する場合は、宛先テーブルのスキーマが使用されます。 --clustering_fields=COLUMNS- テーブルのクラスタ化に使用するフィールドを指定する、最大 4 つの列名のカンマ区切りリスト。
--column_name_character_map=SCOPE- 列名の文字のスコープと処理を定義します。柔軟な列名を有効にするオプションを使用できます。CSV ファイルには
--autodetectオプションが必要です。有効な値の一覧については、load_option_listをご覧ください。 --destination_kms_key=KEY- 宛先テーブルのデータを暗号化する Cloud KMS 鍵のリソース ID を指定します。
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE- データで使用される文字エンコード。次の値のいずれかを使用できます。
ISO-8859-1(Latin-1 とも呼ばれます)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER- データ内で列を区切る文字を指定します。区切り文字には、ISO-8859-1 の任意の 1 バイト文字を使用できます。
\tまたはtabを使用することで、タブを区切り文字に指定できます。 --ignore_unknown_values={true|false}- CSV ファイルと JSON ファイルに対して
trueを設定すると、テーブル スキーマと一致しない余分な列値を持つ行は読み込まれますが、余分な列は無視されます。Avro、Parquet、ORC ファイルに対してtrueを設定すると、テーブル スキーマに存在しないファイル スキーマのフィールドは無視され、読み込まれません。 --json_extension=JSON_TYPE読み込む JSON ファイルのタイプを指定します。JSON ファイルにのみ適用されます。使用できる値は次のとおりです。
GEOJSON: 改行区切りの GeoJSON ファイル。
このフラグを使用するには、
--source_formatフラグをNEWLINE_DELIMITED_JSONに設定する必要があります。詳細については、改行区切りの GeoJSON ファイルの読み込みをご覧ください。
--max_bad_records=MAXジョブ全体が失敗する前に許容される不良レコードの最大数を指定する整数。デフォルト値は
0です。--max_bad_recordsの値にかかわらず、最大で 5 つの任意のタイプのエラーが返されます。このフラグは、CSV、JSON、Google スプレッドシートのデータの読み込みにのみ適用されます。--null_marker=STRINGCSV データの
NULL値を表すオプションのカスタム文字列。--projection_fields=PROPERTY_NAMES--source_formatをDATASTORE_BACKUPに設定すると、このフラグは Datastore エクスポートから読み込むエンティティ プロパティを意味します。プロパティ名は、カンマ区切りのリストで指定します。プロパティ名では大文字と小文字が区別され、最上位のプロパティを参照する必要があります。また、このフラグは Firestore のエクスポートでも使用できます。--quote=CHARACTERCSV データのフィールドを囲む引用符を指定します。
CHARACTER引数には、任意の 1 バイト文字を使用できます。デフォルト値は二重引用符(")です。引用符なしを指定するには、空の文字列("")を使用します。--replace={true|false}新しいデータを読み込むときに既存のデータとスキーマを消去するには、
trueに設定します。--destination_kms_keyフラグを指定しない限り、Cloud KMS 鍵も削除されます。デフォルト値はfalseです。JobConfigurationLoad.writeDispositionのWRITE_TRUNCATE値に相当します。--schema={SCHEMA_FILE|SCHEMA}ローカルの JSON スキーマ ファイルへのパス、または
FIELD:DATA_TYPE, FIELD:DATA_TYPE形式の列定義のカンマ区切りリストのいずれかを指定します。スキーマ ファイルを使用する場合、ファイル名に拡張子を追加しないでください。次に例を示します。
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
スキーマが指定されず、
--autodetectがfalseで、宛先テーブルが存在する場合は、宛先テーブルのスキーマが使用されます。--schema_update_option=OPTION(読み込みジョブまたはクエリジョブで)テーブルにデータを追加するとき、またはテーブル パーティションを上書きするときに、宛先テーブルのスキーマを更新する方法を指定します。次の値のいずれかを使用できます。
ALLOW_FIELD_ADDITION: 新しいフィールドの追加を許可します。ALLOW_FIELD_RELAXATION:REQUIREDフィールドをNULLABLEに緩和することを許可します。
複数のスキーマ更新オプションを指定するには、このフラグを繰り返します。
--skip_leading_rows=NUMBER_OF_ROWSソースファイルの先頭でスキップする行数を指定する整数。デフォルトは
0です。--file_set_spec_type=FILE_SET_SPEC_TYPEソース URI の解釈方法を指定します。
FILE_SYSTEM_MATCH: オブジェクト ストアのファイルを一覧表示して、ソース URI を拡張します。FileSetSpecType が設定されていない場合、これがデフォルトの動作です。NEW_LINE_DELIMITED_MANIFEST: 指定された URI が、1 行に 1 つの URI が含まれる改行区切りのマニフェスト ファイルであることを示します。ワイルドカード URI はマニフェスト ファイルではサポートされていません。また、参照されるすべてのデータファイルは、マニフェストと同じバケットに配置する必要があります。
たとえば、ソース URI が
"gs://bucket/path/file"で、file_set_spec_typeがFILE_SYSTEM_MATCHの場合、このファイルがデータファイルとして直接使用されます。file_set_spec_typeがNEW_LINE_DELIMITED_MANIFESTの場合、ファイル内の各行は、データファイルを指す URI として解釈されます。--source_format=FORMATソースデータの形式。次の値のいずれかを使用できます。
CSVNEWLINE_DELIMITED_JSONAVRODATASTORE_BACKUP(Filestore にはこの値を使用)PARQUETORC
--time_partitioning_expiration=SECONDS時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。
--time_partitioning_field=COLUMN_NAME時間ベースのパーティションの作成方法を定めるフィールドを指定します。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは読み込み時間に基づいてパーティショニングされます。
--time_partitioning_type=INTERVALテーブルでの時間ベースのパーティショニングを有効にし、パーティション タイプを設定します。次の値のいずれかを使用できます。
DAYHOURMONTHYEAR
時間ベースのパーティショニングのデフォルト パーティション タイプは
DAYです。--use_avro_logical_types={true|false}--source_formatフラグがAVROに設定されている場合、このフラグをtrueに設定することで、未加工型(INTEGERなど)を使用するだけではなく、論理型を対応する型(TIMESTAMPなど)に変換できます。--decimal_target_types=DECIMAL_TYPEDecimal論理型を変換する方法を定めます。JobConfigurationLoad.decimalTargetTypesに相当します。複数のターゲット タイプを指定するには、このフラグを繰り返します。--parquet_enum_as_string={true|false}--source_formatフラグがPARQUETに設定されており、BigQuery で ParquetENUM論理型をSTRING値として推定させる場合は、このフラグをtrueに設定します。デフォルトはfalseです。--parquet_enable_list_inference={true|false}--source_formatフラグがPARQUETに設定されている場合、このフラグは、Parquet のLIST論理型に対してスキーマ推定を使用するかどうかを示します。--reference_file_schema_uri=URI外部テーブルの作成に必要なテーブル スキーマを含む参照ファイルへのパスを指定します。
ExternalDataConfiguration.referenceFileSchemaUriに相当します。このフラグは、Avro、ORC、PARQUET 形式の場合に有効になります。DESTINATION_TABLEデータの読み込み先のテーブル。
SOURCE_DATA読み込むデータが含まれているファイルの Cloud Storage URI。
SCHEMA宛先テーブルのスキーマ。
bq load コマンドを使用した Cloud Storage からのデータ読み込みの詳細については、以下をご覧ください。
- Avro データの読み込み
- CSV データの読み込み
- JSON データの読み込み
- ORC データの読み込み
- Parquet データの読み込み
- Datastore エクスポートからのデータの読み込み
- Firestore エクスポートからのデータの読み込み
bq load コマンドを使用してローカルのソースからデータを読み込む方法の詳細については、以下をご覧ください。
bq ls
bq ls コマンドは、コレクション内のオブジェクトを一覧表示するために使用します。
概要
bq ls [FLAGS] [RESOURCE]
例
bq ls myDataset
フラグと引数
bq ls コマンドでは、次のフラグと引数を使用します。
--all={true|false}または-a={true|false}- 結果をすべて表示するには、
trueに設定します。すべてのユーザー、またはすべてのデータセットからのジョブ(非表示のものを含む)を表示します。転送構成または転送実行を一覧表示する場合、このフラグは必要ありません。デフォルト値はfalseです。 --capacity_commitment={true|false}容量コミットメントを一覧表示するには、
trueに設定し、--locationフラグを使用してロケーションを指定します。詳細については、購入したコミットメントを表示するをご覧ください。例:
bq ls --capacity_commitment=true --location='us'--datasets={true|false}または-d={true|false}データセットを一覧表示するには、
trueに設定します。デフォルト値はfalseです。--filter="FILTER"リストされたリソースを
FILTER引数と一致するようにフィルタリングします。データセットの場合、
FILTERは、スペースで区切られた 1 つ以上のlabels.KEY:VALUE形式の 3 項組で構成されます。複数の 3 項組が指定されている場合、コマンドは、すべての 3 項組に一致するデータセットのみを返します(つまり、コマンドはORではなくAND論理演算子を使用)。複数の 3 項組を指定する場合は、FILTER値を引用符で囲みます。データセット ラベルに基づいてフィルタするには、データセットに適用したキーと値を使用します。
次に例を示します。
--filter "labels.department:marketing labels.team:sales"
転送構成では、
dataSourceIdsをキーとして使用し、次のいずれかのデータソースを値として使用します。
amazon_s3- Amazon S3 データ転送azure_blob_storage- Azure Blob Storage データ転送dcm_dt- キャンペーン マネージャー データ転送google_cloud_storage- Cloud Storage データ転送cross_region_copy- データセット コピーdfp_dt- Google アド マネージャー データ転送displayvideo- ディスプレイ&ビデオ 360 データ転送google_ads- Google 広告データ転送merchant_center- Google Merchant Center データ転送mysql- MySQL データ転送play- Google Play データ転送scheduled_query- スケジュールされたクエリデータ転送search_ads- 検索広告 360 データ転送youtube_channel- YouTube チャンネル データ転送youtube_content_owner- YouTube コンテンツ所有者データ転送redshift- Amazon Redshift の移行on_premises- Teradata の移行
次に例を示します。
--filter labels.dataSourceIds:dcm_dt
転送実行では、states をキーとして使用し、次の 1 つ以上の転送状態を値として使用します。
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
例:
--filter="states:FAILED"
ジョブでは、states をキーとして使用し、次の 1 つ以上のジョブ状態を値として使用します。
RUNNINGPENDINGDONE
例:
bq ls --jobs --filter="states:RUNNING" bq ls --jobs --filter="states:RUNNING,PENDING"
--jobs={true|false}または-j={true|false}- ジョブを一覧表示するには、
trueに設定します。デフォルト値はfalseです。デフォルトでは、結果は 100,000 件に制限されています。 --max_creation_time=MAX_CREATION_TIME_MS- Unix エポック タイムスタンプ(ミリ秒単位)を表す整数。
--jobsフラグとともに指定すると、タイムスタンプより前に作成されたジョブのみが表示されます。 --max_results=MAX_RESULTS or -n=MAX_RESULTS- 結果の最大数を示す整数。デフォルト値は 50、最大値は 1,000 です。ジョブの数が 1,000 を超えている場合は、
page_tokenフラグを使用してページ分けを行うことによって、すべてのジョブのリストを取得できます。 - --
min_creation_time=MIN_CREATION_TIME_MS - Unix エポック タイムスタンプ(ミリ秒単位)を表す整数。
--jobsフラグとともに指定すると、タイムスタンプより後に作成されたジョブのみが表示されます。 --message_type=messageTypes:MESSAGE_TYPE特定のタイプの転送実行ログメッセージのみを一覧表示するには、
messageTypes:MESSAGE_TYPEを指定します。使用できる値は次のとおりです。INFOWARNINGERROR
--models={true|false}または-m={true|false}BigQuery ML モデルを一覧表示するには、
trueに設定します。デフォルト値はfalseです。--page_token=TOKENまたは-k=TOKEN指定されたページトークンから始まる項目を一覧表示します。
--projects={true|false}または-p={true|false}すべてのプロジェクトを表示するには、
trueに設定します。デフォルト値はfalseです。--reservation={true|false}指定されたプロジェクトとロケーションのすべての予約を一覧表示するには、
trueに設定します。デフォルト値はfalseです。--project_idフラグおよび--locationフラグとともに使用します。次に例を示します。
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}指定されたプロジェクトとロケーションの予約割り当てを一覧表示するには、
trueに設定します。デフォルト値はfalseです。--project_idフラグおよび--locationフラグとともに使用します。--routines={true|false}指定したデータセット内のルーティンを一覧表示するには、
trueに設定します。デフォルト値はfalseです。ルーティンには、永続的なユーザー定義関数、テーブル関数(プレビュー)、ストアド プロシージャがあります。--row_access_policies指定すると、1 つのテーブルの行レベルのアクセス ポリシーが、すべて一覧表示されます。行レベルのアクセス ポリシーは、行レベルのセキュリティに使用されます。テーブル名は、
dataset.tableの形式で指定する必要があります。--run_attempt=RUN_ATTEMPT--transfer_runフラグとともに使用します。指定した転送実行のすべての実行の施行を一覧表示するには、RUN_ATTEMPT_UNSPECIFIEDに設定します。最新の実行の試行だけを一覧表示するには、LATESTに設定します。デフォルトはLATESTです。--transfer_config={true|false}指定されたプロジェクトとロケーションの転送構成を一覧表示するには、
trueに設定します。--transfer_locationフラグおよび--project_idフラグとともに使用します。デフォルト値はfalseです。--transfer_location=LOCATION指定されたロケーションの転送構成を一覧表示します。転送が作成されるときに、転送ロケーションを設定します。
--transfer_log={true|false}--transfer_runフラグとともに使用します。指定された転送実行の転送ログメッセージを一覧表示するには、trueに設定します。デフォルト値はfalseです。--transfer_run={true|false}指定された転送構成の転送実行を一覧表示します。
次に例を示します。
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCE一覧表示するオブジェクトが含まれるコレクション。リソースには、データセット、プロジェクト、予約、転送構成があります。
bq ls コマンドの使用方法の詳細については、以下をご覧ください。
bq mk
bq mk コマンドは、BigQuery リソースを作成するために使用します。
概要
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
フラグと引数
bq mk コマンドは、作成するリソースのタイプを指定する TYPE_FLAG と、リソースタイプに応じた他のフラグを受け入れます。
TYPE_FLAG: 次のいずれかのフラグを true に設定します。これにより、作成するリソースのタイプを指定します。
--capacity_commitment: 容量コミットメントを購入します。--connection: 接続を作成します。--datasetまたは-d: データセットを作成します。--materialized_view: マテリアライズド ビューを作成します。--reservation: 予約を作成します。--reservation_assignment: フォルダ、プロジェクト、または組織を予約に割り当てます。--tableまたは-t: テーブルを作成します。--transfer_config: 転送構成を作成します。--transfer_run: 時間範囲内の転送実行を作成します。--view: ビューを作成します。
bq mk コマンドは、すべてのタイプのリソースに対して次のフラグをサポートします。
--force={true|false}または-f={true|false}- 同じ名前のリソースがすでに存在する場合にエラーを無視するには、
trueに設定します。リソースがすでに存在する場合、終了コードは 0 になりますが、このフラグをtrueに設定しても、bq mkコマンドによってリソースが上書きされることはありません。デフォルト値はfalseです。
以降のセクションで説明するように、bq mk コマンドでは、作成するリソースのタイプに応じて追加のフラグがサポートされています。
bq mk --capacity_commitment
容量コミットメントを購入するには、--capacity_commitment を true に設定し、次のフラグを使用します。
--location=LOCATION- コミットメントのロケーションを指定します。
--plan=PLAN_TYPEコミットメント プランのタイプを指定します。次のいずれかの値を指定する必要があります。
ANNUALTHREE_YEAR
従来の定額料金をご利用のお客様は、次のいずれかの値を使用することもできます。
FLEXMONTHLYANNUAL
--renewal_plan=RENEWAL_TYPE更新プランのタイプを指定します。
ANNUALまたはTHREE_YEARコミットメント プランに必要です。次のいずれかになります。ANNUALTHREE_YEARNONE
従来の定額料金をご利用のお客様は、次のいずれかの値を使用することもできます。
FLEXMONTHLYANNUAL
--project_id=PROJECT_IDスロットを管理するプロジェクトを指定します。
--slots=NUMBER_OF_BASELINE_SLOTS購入するスロットの数を指定します。
--edition=EDITION容量コミットメントに関連付けられたエディション。次のいずれかの値を設定する必要があります。
ENTERPRISEENTERPRISE_PLUS
詳細については、スロットの購入をご覧ください。
bq mk --connection
接続を作成します。次のフラグがサポートされています。
--connection_type=CONNECTION_TYPE- 接続タイプ。たとえば、Cloud SQL 接続の場合は
CLOUD_SQLです。 --properties=PROPERTIES接続固有の JSON 形式のパラメータ。
instanceId、database、typeを指定する必要があります。Spanner 接続を作成し、Data Boost を使用する場合は、
"useParallelism":trueと"useDataBoost":trueのペアを含めます。--connection_credential=CONNECTION_CREDENTIALJSON 形式の接続の認証情報。
usernameとpasswordを指定する必要があります。--project_id=PROJECT_ID接続が属しているプロジェクトの ID を指定します。
--location=LOCATION接続が保存されるロケーションを指定します。
--display_name=DISPLAY_NAME接続のわかりやすい名前を指定します(省略可)。
--description=DESCRIPTION接続の説明を指定します(省略可)。
--iam_role_id=ROLE_IDAWS の BigQuery Omni の場合は、リソースへのアクセスを許可する IAM ロールを指定します。
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME"の形式を使用します。ここで:- AWS_ACCOUNT_ID は、接続の AWS IAM ユーザーの ID 番号です。
- POLICY_NAME はポリシー名です。
例:
"arn:aws:iam::0123456789AB:policy/s3-read-role"--tenant_id=TENANT_IDMicrosoft Azure の BigQuery Omni の場合は、Microsoft Azure Storage アカウントを含む Microsoft Azure ディレクトリのテナント ID を指定します。
CONNECTION_ID接続の接続 ID を指定します(省略可)。接続 ID を指定しない場合は、一意の ID が自動的に生成されます。接続 ID には、英文字、数字、アンダースコアを使用できます。
詳細については、接続の概要をご覧ください。
bq mk --dataset
データセットを作成します。次のフラグがサポートされています。
--add_tags=TAGS- 新しいデータセットに付加するタグをカンマで区切って指定します。例:
556741164180/env:prod,myProject/department:sales。各タグには、名前空間付きのキー名と値の略称が必要です。 --default_kms_key=KEY- テーブルの作成やクエリの際、明示的な鍵が指定されていない場合に、データセットのテーブルデータを暗号化するデフォルトの Cloud KMS 鍵のリソース ID を指定します。
--default_partition_expiration=SECONDS- データセット内に新しく作成されるパーティション分割テーブルのすべてのパーティションに対して、デフォルトの有効期限を秒単位で指定する整数。パーティションの日付(UTC)にこの整数値を足した値がパーティションの有効期限になります。このプロパティを設定すると、データセット レベルのデフォルトのテーブル有効期限が存在する場合は、その値がオーバーライドされます。パーティション分割テーブルの作成時または更新時に
--time_partitioning_expirationフラグを指定した場合は、データセット レベルのデフォルトのパーティション有効期限よりもテーブルレベルのパーティション有効期限が優先されます。 --default_table_expiration=SECONDS- データセットに新しく作成されるテーブルのデフォルト存続期間を秒単位で指定する整数。現在の UTC 時間にこの値を足した値が、有効期限に設定されます。
--description=DESCRIPTION- データセットの説明を指定します。
--external_source=EXTERNAL_SOURCE- 連携データセットを作成するときに、外部データソースを指定します。
--label=KEY:VALUE- データセットのラベルを指定します。複数のラベルを指定するには、このフラグを繰り返します。
--location=LOCATIONまたは--data_location=LOCATION- データセットの場所を指定します。
--locationフラグが優先されます。--data_locationフラグは以前のフラグです。 --max_time_travel_hours=HOURS- データセットのタイムトラベル期間を時間で指定します。
--max_time_travel_hours値は、24 の倍数(48、72、96、120、144、168)であり、48(2 日)~168(7 日)の範囲にする必要があります。このフラグを指定しない場合のデフォルトは 168 時間です。 --storage_billing_model=BILLING_MODELデータセットのストレージ課金モデルを指定します。ストレージ料金の計算時に物理バイトを使用する場合は
--storage_billing_model値をPHYSICALに設定し、論理バイトを使用する場合はLOGICALに設定します。デフォルトはLOGICALです。データセットの課金モデルを変更した場合は、変更が反映されるまでに 24 時間を要します。
データセットのストレージ課金モデルを変更した後、再度ストレージ課金モデルを変更するには、14 日間お待ちいただく必要があります。
詳細については、データセットの作成をご覧ください。
bq mk --materialized_view
マテリアライズド ビューを作成します。次のフラグがサポートされています。
--enable_refresh={true|false}- マテリアライズド ビューの自動更新を無効にするには、
falseに設定します。マテリアライズド ビューを作成する場合のデフォルトはtrueです。 --refresh_interval_ms=MILLISECONDS- マテリアライズド ビューの更新間隔をミリ秒単位で指定します。このフラグが指定されていない場合、更新が有効になっているマテリアライズド ビューのデフォルトの更新間隔は、1,800,000 ミリ秒(30 分)です。
詳細については、マテリアライズド ビューの作成と使用をご覧ください。
bq mk --reservation
専用のスロットを使用して予約を作成します。次のフラグがサポートされています。
--target_job_concurrency=CONCURRENCY- 同時に実行されるクエリのターゲット数を指定します。デフォルト値は 0 です。つまり、予約サイズに基づいて同時実行が自動的に計算されます。詳細については、クエリキューの使用をご覧ください。
--ignore_idle_slots={true|false}- この予約で実行されるジョブが、予約に割り当てられたスロットのみを使用するように制限するには、
trueに設定します。デフォルト値はfalseで、この予約のジョブは、他の予約のアイドル スロットか、どの予約にも割り当てられていないスロットを使用できます。詳細については、アイドル スロットをご覧ください。 --location=LOCATION- 予約のロケーションを指定します。
--project_id=PROJECT_ID- 予約を所有するプロジェクトを指定します。
--slots=NUMBER_OF_BASELINE_SLOTS- この予約に割り当てるベースラインのスロットの数を指定します。
--edition=EDITION- 容量コミットメントに関連付けられたエディション。次のいずれかの値を設定する必要があります。
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- 予約に割り当てられている自動スケーリング スロットの数。これは、最大予約サイズの値からベースラインのスロット数を差し引いた値に等しくなります。
--editionフラグでのみ使用できます。 --max_slots=MAXIMUM_NUMBER_OF_SLOTS- 予約で消費されるスロットの最大数。
--scaling_modeフラグを使用して構成する必要があります(プレビュー版)。 --scaling_mode=SCALING_MODE予約のスケーリング モード。次のいずれかの値を設定する必要があります。
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
--max_slotsフラグを使用して構成する必要があります(プレビュー版)。
詳細については、専用スロットを使用して予約を作成するをご覧ください。
bq mk --reservation_assignment
プロジェクト、フォルダ、または組織を予約に割り当てます。次のフラグがサポートされています。
--assignee_id=ASSIGNEE_ID- フォルダ、組織、またはプロジェクトの ID を指定します。
--assignee_type=ASSIGNEE_TYPE- 予約に割り当てるエンティティのタイプを指定します。次のいずれかです。
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- 予約に割り当てるジョブのタイプを指定します。次のいずれかです。
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- 予約のロケーションを指定します。
--project_id=PROJECT_ID- 予約を所有するプロジェクトを指定します。
--reservation_id=RESERVATION_ID- 予約の ID を指定します。
詳細については、予約割り当ての操作をご覧ください。
bq mk --table
テーブルを作成します。次のフラグがサポートされています。
--add_tags=TAGS- 新しいテーブルに付加するタグをカンマで区切って指定します。例:
556741164180/env:prod,myProject/department:sales。各タグには、名前空間付きのキー名と値の略称が必要です。 --clustering_fields=COLUMNS- テーブルのクラスタ化に使用するフィールドを指定する、最大 4 つの列名のカンマ区切りリスト。パーティショニングとともに指定すると、テーブルはまず分割され、各パーティションは指定した列を使用してクラスタ化されます。
--description=DESCRIPTION- テーブルの説明を指定します。
--destination_kms_key=KEY- 宛先テーブルのデータを暗号化する Cloud KMS 鍵のリソース ID を指定します。
--expiration=SECONDS- テーブルの存続期間を指定します。
--expirationフラグを省略した場合は、BigQuery によりテーブルが作成され、データセットのデフォルトのテーブル存続期間が設定されるか、テーブルの有効期限が無期限になります。 --external_table_definition=STRING外部テーブルを作成するためのテーブル定義を指定します。
Cloud Storage と Google ドライブの外部テーブルの場合:
-
--external_table_definition={PATH_TO_FILE|DEFINITION} - 値は、テーブル定義(
PATH_TO_FILE)を含むファイルへのパスか、インライン テーブル定義(DEFINITION)のいずれかです。
DEFINITIONフィールドの形式はSCHEMA@FORMAT=URIです。SCHEMA値の形式は、FIELD:DATA_TYPE, FIELD:DATA_TYPE形式の列定義のカンマ区切りリストです。データ形式が自己記述型(Avro など)の場合と、スキーマの自動検出を使用する場合は、SCHEMA値を省略できます。FORMAT値は、データ形式を指定します。次のいずれかになります。AVROCSVDATASTORE_BACKUP(Filestore にはこの値を使用)ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
テーブル定義ファイルを指定する場合、ファイル名に拡張子を追加しないでください。
次に例を示します。
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Bigtable 外部テーブル、AWS と Azure に基づく BigLake テーブルの場合:
--external_table_definition=PATH_TO_FILE- 値には、テーブル定義を含むファイルへのパスを指定する必要があります。
Cloud Storage に基づく BigLake テーブルの場合:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME:FORMAT値は、データ形式を指定します。次のいずれかになります。AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHは、BigLake テーブルデータを含む Cloud Storage 内の 1 つ以上のファイルへのパスです。BUCKET_PATHは次の形式で指定します。- 単一ファイルの場合:
gs://bucket_name/[folder_name/]file_name。 - 1 つのバケット内の複数ファイルの場合:
gs://bucket_name/[folder_name/]* 複数バケット内の複数ファイルの場合:
gs://mybucket1/*,gs://mybucket2/folder5/*ワイルドカードを使用すると、BigLake テーブルに含めるファイルを制限できます。たとえば、バケットに複数のタイプのデータが含まれている場合、
gs://bucket_name/*.parquetを指定することでテーブルに PARQUET ファイルのみが使用されます。ワイルドカードの使用方法については、URI ワイルドカードをご覧ください。
- 単一ファイルの場合:
REGION値には、接続を含むリージョンまたはマルチリージョンを指定します。CONNECTION_NAME値には、この外部テーブルで使用するクラウド リソース接続の名前を指定します。この接続によって、Cloud Storage からデータを読み込むために使用されるサービス アカウントが決まります。
オブジェクト テーブルの場合:
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME:BUCKET_PATHは、オブジェクト テーブルで表されるオブジェクトを含む Cloud Storage バケットへのパスです(gs://bucket_name/[folder_name/]*形式)。複数のバケットを指定するには、複数のパスを指定します(例:gs://mybucket1/*,gs://mybucket2/folder5/*)。ワイルドカードを使用すると、オブジェクト テーブルに含まれるオブジェクトを制限できます。たとえば、バケットに複数のタイプの非構造化データが含まれている場合は、
gs://bucket_name/*.pdfを指定することで、PDF オブジェクトのみを含むオブジェクト テーブルを作成できます。ワイルドカードの使用方法については、URI ワイルドカードをご覧ください。REGION値には、接続を含むリージョンまたはマルチリージョンを指定します。CONNECTION_NAME値には、この外部テーブルで使用するクラウド リソース接続の名前を指定します。この接続によって、Cloud Storage からデータを読み込むために使用されるサービス アカウントが決まります。
-
--file_set_spec_type=FILE_SET_SPEC_TYPEソース URI の解釈方法を指定します。
FILE_SYSTEM_MATCH: オブジェクト ストアのファイルを一覧表示して、ソース URI を拡張します。FileSetSpecType が設定されていない場合、これがデフォルトの動作です。NEW_LINE_DELIMITED_MANIFEST: 指定された URI が、1 行に 1 つの URI が含まれる改行区切りのマニフェスト ファイルであることを示します。ワイルドカード URI はマニフェスト ファイルではサポートされていません。また、参照されるすべてのデータファイルは、マニフェストと同じバケットに配置する必要があります。
たとえば、ソース URI が
"gs://bucket/path/file"で、file_set_spec_typeがFILE_SYSTEM_MATCHの場合、このファイルがデータファイルとして直接使用されます。file_set_spec_typeがNEW_LINE_DELIMITED_MANIFESTの場合、ファイル内の各行は、データファイルを指す URI として解釈されます。--reference_file_schema_uri=URI外部テーブルの作成に必要なテーブル スキーマを含む参照ファイルへのパスを指定します。
ExternalDataConfiguration.referenceFileSchemaUriに相当します。このフラグは、Avro、ORC、PARQUET 形式の場合に有効になります。--label=KEY:VALUEテーブルのラベルを指定します。複数のラベルを指定するには、このフラグを繰り返します。
--max_staleness=INTERVALキャッシュ内のメタデータをテーブルに対するオペレーションで使用するかどうかを指定します。また、オペレーションがキャッシュ内のメタデータを使用するためにそのメタデータの鮮度を指定します。
BigLake テーブルとオブジェクト テーブルに適用されます。
メタデータのキャッシュ保存を無効にするには、0 を指定します。これがデフォルトです。
メタデータ キャッシュを有効にするには、
INTERVALデータ型のドキュメントで説明されているY-M D H:M:S形式を使用して、30 分から 7 日の間隔値を指定します。たとえば、4 時間の未更新間隔の場合、0-0 0 4:0:0を指定します。この値を指定すると、キャッシュに保存されたメタデータが過去 4 時間以内に更新されていれば、テーブルに対するオペレーションはそのメタデータを使用します。キャッシュに保存されているメタデータがそれより古い場合、オペレーションは代わりに Cloud Storage からメタデータを取得します。--object_metadata=STRINGオブジェクト テーブルの作成時に、このフラグの値を
SIMPLEに設定します。オブジェクト テーブルを作成する場合にのみ必要です。
--range_partitioning=COLUMN_NAME,START,END,INTERVAL次のように整数範囲パーティションのオプションを指定します。
column_nameは整数範囲パーティションを作成するために使用される列です。startは範囲パーティショニングの開始値です。パーティションにはこの値も含まれます。endは範囲パーティショニングの終了値です。パーティションにこの値は含まれません。intervalはパーティション内の各範囲の幅です。
次に例を示します。
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}指定したテーブルのクエリに対してパーティション フィルタを要求するには、
trueに設定します。このフラグは分割テーブルにのみ適用されます。デフォルト値はfalseです。--schema={SCHEMA_FILE|SCHEMA}ローカルの JSON スキーマ ファイルへのパス、または
FIELD:DATA_TYPE, FIELD:DATA_TYPE形式の列定義のカンマ区切りリストのいずれかを指定します。スキーマ ファイルを使用する場合、ファイル名に拡張子を追加しないでください。例:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDS時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。
--time_partitioning_field=COLUMN_NAME時間ベースのパーティションの作成方法を定めるために使用するフィールドを指定します。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは読み込み時間に基づいてパーティショニングされます。
--time_partitioning_type=INTERVALテーブルでの時間ベースのパーティショニングを有効にし、パーティション タイプを設定します。次の値のいずれかを使用できます。
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}--external_table_definitionフラグのFORMAT部分がAVROに設定されている場合、このフラグによって未加工の型(INTEGERなど)だけを使用するのではなく、論理型を対応する型(TIMESTAMPなど)に変換するかどうかが指定されます。--parquet_enable_list_inference={true|false}--external_table_definitionフラグのFORMAT部分がPARQUETに設定されている場合、このフラグによって、ParquetLIST論理型に対してスキーマ推定を使用するかどうかが指定されます。--parquet_enum_as_string={true|false}--external_table_definitionフラグのFORMAT部分がPARQUETに設定されている場合、このフラグによって ParquetENUM論理型をSTRING値として推定するかどうかが指定されます。
詳細については、テーブルの作成と使用をご覧ください。
bq mk --transfer_config
転送構成を作成します。次のフラグがサポートされています。
--data_source=DATA_SOURCE- データソースを指定します。転送構成を作成する場合は必須です。次の値のいずれかを使用できます。
amazon_s3- Amazon S3 データ転送azure_blob_storage- Azure Blob Storage データ転送dcm_dt- キャンペーン マネージャー データ転送google_cloud_storage- Cloud Storage データ転送cross_region_copy- データセット コピーdfp_dt- Google アド マネージャー データ転送displayvideo- ディスプレイ&ビデオ 360 データ転送google_ads- Google 広告データ転送merchant_center- Google Merchant Center データ転送mysql- MySQL データ転送play- Google Play データ転送scheduled_query- スケジュールされたクエリデータ転送search_ads- 検索広告 360 データ転送youtube_channel- YouTube チャンネル データ転送youtube_content_owner- YouTube コンテンツ所有者データ転送redshift- Amazon Redshift の移行on_premises- Teradata の移行
--display_name=DISPLAY_NAME- 転送構成の表示名を指定します。
--no_auto_scheduling={true|false}- この構成のデータ転送の自動スケジュールを無効にします。デフォルト値は
falseです。 --params={"PARAMETER":"VALUE"}または-p={"PARAMETER":"VALUE"}- 転送構成のパラメータを JSON 形式で指定します。パラメータは、データソースによって異なります。
--refresh_window_days=DAYS- 転送構成の更新間隔を日数で指定する整数。デフォルト値は
0です。 --service_account_name=SERVICE_ACCOUNT- 転送構成の認証情報として使用するサービス アカウントを指定します。
--target_dataset=DATASET- 転送構成のターゲット データセットを指定します。
--table_filter=TABLESgoogle_adsデータソースでのみ使用されます。TABLESパラメータは、転送に含めるテーブルのカンマ区切りのリストです。テーブルを除外するには、先頭にハイフン(-)を付けます。デフォルト値には、転送内のすべてのテーブルが含まれます。--destination_kms_key=KEY- 宛先テーブルのデータを暗号化する Cloud KMS 鍵のリソース ID を指定します。
BigQuery Data Transfer Service で bq mk コマンドを使用する方法については、以下をご覧ください。
- Amazon S3 転送を設定する
- キャンペーン マネージャーの転送を設定する
- Cloud Storage の転送を設定する
- Google アド マネージャーの転送を設定する
- Google 広告の転送を設定する
- Google Merchant Center の転送を設定する(ベータ版)
- Google Play の転送を設定する
- 検索広告 360 の転送を設定する(ベータ版)
- YouTube チャンネルの転送を設定する
- YouTube コンテンツ所有者の転送を設定する
- Amazon Redshift からデータを移行する
- Teradata からデータを移行する
bq mk --transfer_run
指定されたデータ転送構成を使用して、指定された時間または時間範囲でデータ転送実行を作成します。
概要
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
次のフラグがサポートされています。
--run_time=RUN_TIME- データ転送実行をスケジュールする時刻を指定するタイムスタンプ。
--start_time=START_TIME- データ転送実行の範囲の開始時刻を指定するタイムスタンプ。
--end_time=END_TIME- データ転送実行の範囲の終了時間を指定するタイムスタンプ。
タイムスタンプの形式は、RFC3339 UTC の「Zulu」です。
CONFIG 引数には、既存のデータ転送構成を指定します。
例
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
ビューを作成します。次のフラグがサポートされています。
--add_tags=TAGS- 新しいビューに付加するタグをカンマで区切って指定します。例:
556741164180/env:prod,myProject/department:sales。各タグには、名前空間付きのキー名と値の略称が必要です。 --description=DESCRIPTION- ビューの説明を指定します。
--expiration=SECONDS- ビューの存続期間を指定します。
SECONDSが0の場合、ビューに期限はありません。--expirationフラグを省略した場合は、BigQuery によりビューが作成され、データセットのデフォルトのテーブル存続期間が設定されます。 --label=KEY:VALUE- ビューのラベルを指定します。複数のラベルを指定するには、このフラグを繰り返します。
--use_legacy_sql={true|false}- GoogleSQL クエリを使用してビューを作成するには、
falseに設定します。デフォルト値は構成設定によって決まります。構成設定が指定されていない場合、デフォルト値はtrueで、レガシー SQL を使用します。 --view_udf_resource=FILE- Cloud Storage URI か、ビューの SQL クエリで使用されるユーザー定義関数リソースとして読み込まれてすぐに評価されるローカル コードファイルのパスを指定します。複数のファイルを指定するには、このフラグを繰り返します。
詳細については、ビューの作成をご覧ください。
bq mkdef
bq mkdef コマンドを使用して、Cloud Storage または Google ドライブに保存されているデータ用の JSON 形式のテーブル定義を作成します。
概要
bq mkdef [FLAGS] URI [ > FILE ]
フラグと引数
bq mkdef コマンドでは、次のフラグと引数を使用します。
--autodetect={true|false}- CSV および JSON データのスキーマ自動検出を使用するかどうかを指定します。デフォルトは
falseです。 --connection_id=CONNECTION_ID- 認証に使用する接続リソースの ID。
--hive_partitioning_modeBigQuery がデータを読み取るときにパーティショニング スキーマを決定する方法を指定します。次のモードがサポートされています。
AUTO: パーティション キー名とタイプを自動的に推測します。STRINGS: パーティション キー名を自動的に推測します。すべての型が文字列として扱われます。CUSTOM: ソース URI プレフィックスでパーティショニング スキーマを指定します。
デフォルト値は
AUTOです。--hive_partitioning_source_uri_prefixソース URI の共通のプレフィックスを指定します。一般的なプレフィックス値は、パーティション キーのエンコードの直前にある URI の部分です。また、モードに
CUSTOMを指定した場合は、パーティショニング スキーマを追加する必要があります。たとえば、次の構造を持つファイルがあるとします。
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avrogs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
モードに
AUTOまたはSTRINGSを使用する場合は、次の値を使用できます。gs://bucket/path_to_tablegs://bucket/path_to_table/
CUSTOMを使用する場合は、次の値を使用できます。gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}
bq mkdef コマンドの使用方法の詳細については、外部データソースに対するテーブル定義ファイルの作成をご覧ください。
--ignore_unknown_values={true|false}または-i={true|false}- スキーマに存在しない行の値を無視するかどうかを指定します。デフォルトは
falseです。 --metadata_cache_mode=STRINGテーブルのメタデータ キャッシュが自動的に更新されるか、手動で更新するかを指定します。
AUTOMATICに設定すると、メタデータ キャッシュがシステムで定義された間隔(通常は 30~60 分)で更新されます。自身で決めたスケジュールでメタデータ キャッシュを更新する場合は、
MANUALに設定します。この場合は、BQ.REFRESH_EXTERNAL_METADATA_CACHEシステム プロシージャを呼び出してキャッシュを更新できます。bq mkコマンドで--max_stalenessフラグを設定する場合は、--metadata_cache_modeフラグを設定する必要があります。--parquet_enable_list_inference={true|false}source_formatがPARQUETに設定されている場合、このフラグは ParquetLIST論理型に対してスキーマ推定を使用するかどうかを指定します。デフォルトはfalseです。--parquet_enum_as_string={true|false}source_formatがPARQUETに設定されている場合、このフラグは ParquetENUM論理型をSTRING値として推定するかどうかを指定します。デフォルトはfalseです。--file_set_spec_type=FILE_SET_SPEC_TYPEソース URI の解釈方法を指定します。
FILE_SYSTEM_MATCH: オブジェクト ストアのファイルを一覧表示して、ソース URI を拡張します。FileSetSpecType が設定されていない場合、これがデフォルトの動作です。NEW_LINE_DELIMITED_MANIFEST: 指定された URI が、1 行に 1 つの URI が含まれる改行区切りのマニフェスト ファイルであることを示します。ワイルドカード URI はマニフェスト ファイルではサポートされていません。また、参照されるすべてのデータファイルは、マニフェストと同じバケットに配置する必要があります。
たとえば、ソース URI が
"gs://bucket/path/file"で、file_set_spec_typeがFILE_SYSTEM_MATCHの場合、このファイルがデータファイルとして直接使用されます。file_set_spec_typeがNEW_LINE_DELIMITED_MANIFESTの場合、ファイル内の各行は、データファイルを指す URI として解釈されます。--source_format=FORMATソースデータの形式を指定します。次の値のいずれかを使用できます。
AVROCSVDATASTORE_BACKUP(Filestore にはこの値を使用)GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
デフォルト値は
CSVです。--use_avro_logical_types={true|false}--source_formatフラグがAVROに設定されている場合、未加工型(INTEGERなど)を使用するだけではなく、論理型を対応する型(TIMESTAMPなど)に変換するかどうかを指定します。デフォルトはfalseです。
bq partition
bq partition コマンドは、日付パーティショニング用に YYYYMMDD で終わるテーブルなど、時間単位のサフィックスが付いたテーブルのグループをパーティション分割テーブルに変換するために使用します。
概要
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
フラグと引数
bq partition コマンドでは、次のフラグと引数を使用します。
--no_clobber={true|false}または-n={true|false}- 既存のパーティションの上書きを禁止するには、
trueに設定します。デフォルト値はfalseです。パーティションが存在する場合、そのパーティションは上書きされます。 --time_partitioning_expiration=SECONDS- 時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。
--time_partitioning_type=INTERVALパーティション タイプを指定します。次の表に、
INTERVALフラグで使用できる値と、各時間の想定される時間単位サフィックスの形式を示します。INTERVALsuffix HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAME時間単位のサフィックスが付いたテーブル グループのベース名。
PARTITION_TABLE変換先パーティション分割テーブルの名前。
bq partition コマンドの使用方法の詳細については、日付別テーブルの取り込み時間パーティション分割テーブルへの変換をご覧ください。
bq query
bq query コマンドは、指定した SQL クエリを実行するクエリジョブを作成するために使用します。
概要
bq query [FLAGS] 'QUERY'
フラグと引数
bq query コマンドでは、次のフラグと引数を使用します。
--allow_large_results={true|false}- レガシー SQL クエリで大きいサイズの宛先テーブルを有効にするには、
trueに設定します。デフォルト値はfalseです。 --append_table={true|false}- 宛先テーブルにデータを追加するには、
trueに設定します。デフォルト値はfalseです。 --batch={true|false}- クエリをバッチモードで実行するには、
trueに設定します。デフォルト値はfalseです。 --clustering_fields=COLUMNS- クエリで宛先テーブルをクラスタ化するために使用するフィールドを指定する列名のカンマ区切りのリスト。最大 4 つの列名を指定できます。パーティショニングとともに指定すると、テーブルはまず分割され、各パーティションは指定した列を使用してクラスタ化されます。
--connection_property=KEY=VALUE接続レベルのプロパティを指定してクエリ動作をカスタマイズできる Key-Value ペア。追加のプロパティを指定するには、このフラグを繰り返します。
サポートされている接続プロパティは次のとおりです。
dataset_project_id:@@dataset_project_idシステム変数と同様に、クエリで使用されるデータセットのデフォルト プロジェクトを表します。query_label: クエリを特定のジョブラベルに関連付けます。設定すると、スクリプトまたはセッションの後続のすべてのクエリにこのラベルが付けられます。クエリラベルの形式の要件の詳細については、JobConfigurationリソースのlabelsフィールドをご覧ください。service_account: クエリの実行に使用するサービス アカウントを指定します。例:--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com。session_id: クエリを特定のセッションに関連付けます。time_zone: クエリの実行に使用するデフォルトのタイムゾーンを表します。
--continuous={true|false}継続的クエリを実行するには、
trueに設定します。デフォルト値はfalseです。--destination_kms_key=KEY宛先テーブルのデータを暗号化する Cloud KMS 鍵のリソース ID を指定します。
--destination_schema={PATH_TO_FILE|SCHEMA}ローカルの JSON スキーマ ファイルへのパス、または
FIELD:DATA_TYPE, FIELD:DATA_TYPE形式の列定義のカンマ区切りリスト。スキーマの変更は、クエリの実行とは別のオペレーションで行われます。
--destination_tableフラグを指定することでクエリ結果をテーブルに書き込んだ後、クエリによって例外が発生した場合、スキーマの変更がスキップされる可能性があります。このような場合は、宛先テーブルのスキーマを確認し、必要に応じてスキーマを手動で更新してください。--destination_table=TABLE指定すると、クエリ結果が
TABLEに保存されます。TABLEはPROJECT:DATASET.TABLEの形式で指定します。PROJECTを指定しない場合、現在のプロジェクトを指定したと想定されます。--destination_tableフラグを指定しないと、クエリ結果は一時テーブルに保存されます。例:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}指定すると、クエリは検証されますが実行されません。
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}外部テーブルクエリのテーブル名とテーブル定義を指定します。テーブル定義は、ローカルの JSON スキーマ ファイルへのパスか、インライン テーブル定義です。インライン テーブル定義を指定する形式は
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URIです。SCHEMA値の形式は、FIELD:DATA_TYPE, FIELD:DATA_TYPE形式の列定義のカンマ区切りリストです。テーブル定義ファイルを使用する場合、ファイル名に拡張子を追加しないでください。次に例を示します。
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
複数のテーブルをクエリするには、このフラグを繰り返します。
--flatten_results={true|false}レガシー SQL クエリの結果でネストされたフィールドと繰り返しフィールドをフラット化しないようにするには、
falseに設定します。デフォルト値はtrueです。--label=KEY:VALUEクエリジョブのラベルを指定します。複数のラベルを指定するには、このフラグを繰り返します。
--max_rows=MAX_ROWSまたは-n=MAX_ROWSクエリ結果で返す行数を指定する整数。デフォルト値は
100です。--maximum_bytes_billed=MAX_BYTESクエリに対して課金されるバイト数を制限する整数。クエリがこのフラグで設定した上限を超える場合、そのクエリは失敗します(料金は発生しません)。このフラグが指定されていない場合、課金されるバイト数はプロジェクトのデフォルトに設定されます。
--max_statement_results=VALUEクエリ結果に表示されるスクリプト ステートメントの最大数を指定する整数。デフォルト値は
100です。--min_completion_ratio=RATIO(試験運用版)クエリが返される前にスキャンする必要があるデータの最小割合を指定する 0 ~ 1.0 の数値。このフラグが指定されていない場合は、デフォルトのサーバーの値
1.0が使用されます。--parameter={PATH_TO_FILE|PARAMETER}クエリ パラメータのリストを含む JSON ファイルか、
NAME:TYPE:VALUE形式のクエリ パラメータ。空の名前を指定すると、位置パラメータが作成されます。TYPEを省略すると、STRING型と見なされます。NULLは null 値を指定します。複数のパラメータを指定するには、このフラグを繰り返します。次に例を示します。
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVAL--destination_tableフラグとともに使用します。宛先テーブル内の整数範囲パーティショニングのオプションを指定します。値は、column_name,start,end,intervalという形式のカンマ区切りのリストです。column_nameは整数範囲パーティションを作成するために使用される列です。startは範囲パーティショニングの開始値です。パーティションにはこの値も含まれます。endは範囲パーティショニングの終了値です。パーティションにこの値は含まれません。intervalはパーティション内の各範囲の幅です。
次に例を示します。
--range_partitioning=customer_id,0,10000,100
--replace={true|false}クエリ結果で宛先テーブルを上書きするには、
trueに設定します。既存のデータとスキーマはすべて消去されます。--destination_kms_keyフラグを指定しない限り、Cloud KMS 鍵も削除されます。デフォルト値はfalseです。--require_cache={true|false}指定すると、キャッシュから結果を取得できる場合にのみ、クエリが実行されます。
--require_partition_filter={true|false}指定すると、そのテーブルに対するクエリにはパーティション フィルタが必要になります。このフラグは、パーティション分割テーブルでのみ使用できます。
- **
--reservation_id=RESERVATION プレビュー。指定すると、その予約でクエリが実行されます。
--rpc={true|false}REST API
jobs.insertメソッドではなく RPC スタイルのクエリ API を使用するには、trueに設定します。デフォルト値はfalseです。--schedule="SCHEDULE"クエリを定期的にスケジュールされたものにします。クエリを実行する頻度を指定する必要があります。
例:
--schedule="every 24 hours"
--schedule="every 3 hours"
スケジュールの構文の説明については、schedule の書式をご覧ください。
--schema_update_option=OPTION読み込みジョブまたはクエリジョブでテーブルにデータを追加するとき、またはテーブル パーティションを上書きするときに、宛先テーブルのスキーマを更新する方法を指定します。次の値のいずれかを使用できます。
ALLOW_FIELD_ADDITION: 新しいフィールドの追加を許可します。ALLOW_FIELD_RELAXATION:REQUIREDフィールドをNULLABLEに緩めることを許可します。
複数のスキーマ更新オプションを指定するには、このフラグを繰り返します。
--start_row=ROW_NUMBERまたは-s=ROW_NUMBERクエリ結果で返す最初の行を指定する整数。デフォルト値は
0です。--target_dataset=DATASET--scheduleとともに指定すると、スケジュールされたクエリのターゲット データセットが更新されます。この場合のクエリは DDL または DML でなければなりません。--time_partitioning_expiration=SECONDS--destination_tableフラグとともに使用します。時間ベースのパーティションを削除する必要があるタイミングを指定する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。--time_partitioning_field=COLUMN_NAME--destination_tableフラグとともに使用します。時間ベースのパーティショニングのパーティショニング列を指定します。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは取り込み時間に基づいてパーティショニングされます。--time_partitioning_type=INTERVAL--destination_tableフラグとともに使用します。宛先テーブルのパーティション タイプを指定します。次の値のいずれかを使用できます。DAYHOURMONTHYEAR
--udf_resource=FILEこのフラグはレガシー SQL クエリにのみ適用されます。Cloud Storage URI、またはレガシー SQL クエリで使用されるユーザー定義関数リソースを含むローカル ファイルへのパスを指定します。複数のファイルを指定するには、このフラグを繰り返します。
--use_cache={true|false}クエリ結果のキャッシュ保存を禁止するには、
falseに設定します。デフォルト値はtrueです。--use_legacy_sql={true|false}GoogleSQL クエリを実行するには、
falseに設定します。デフォルト値は構成設定によって決まります。構成設定が指定されていない場合、デフォルト値はtrueで、コマンドはレガシー SQL を使用します。--job_timeout_ms={string (Int64Value)}クエリを実行する最大時間をミリ秒で指定します。この時間制限を超えた場合、BigQuery によりジョブの停止が試行されます。
QUERY実行するクエリ。クエリは、次のいずれかの方法で指定できます。
クエリを含む文字列を指定します。
クエリ内で追加の文字列リテラルを使用する必要がある場合は、使用しているシェル(Bash や PowerShell など)の引用符ルールに従う必要があります。
次の例は、Bash の一般的なアプローチを示しています。ダブル クォーテーションを使用してクエリ内の文字列リテラルを指定し、クエリ自体をシングルクォーテーションで囲みます。
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
別の場所からクエリをコピーする場合は、クエリ内のコメントもすべて削除する必要があります。
クエリを含む SQL スクリプトを渡します。次の例では、Bash シェルで SQL スクリプトを渡す方法を示します。
bq query --use_legacy_sql=false < query.sql
bq query コマンドの使用の詳細については、クエリを実行するをご覧ください。
bq remove-iam-policy-binding
bq remove-iam-policy-binding コマンドは、1 ステップでリソースの IAM ポリシーを取得して、ポリシーからバインディングを削除するために使用します。リソースには、テーブルまたはビューを指定できます。
このコマンドは、以下の 3 ステップの代わりに使用できます。
bq get-iam-policyコマンドを使用してポリシー ファイル(JSON 形式)を取得する。- ポリシー ファイルを編集する。
bq set-iam-policyコマンドを使用して、バインディングなしでポリシーを更新する。
概要
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
フラグと引数
bq remove-iam-policy-binding コマンドでは、次のフラグと引数を使用します。
--member=MEMBER_TYPE:MEMBER必須。
--memberフラグは、IAM ポリシー バインディングのメンバー部分を指定するために使用します。--memberフラグは--roleフラグとともに指定する必要があります。--memberと--roleの 1 つの組み合わせが、1 つのバインディングに相当します。MEMBER_TYPE値は、IAM ポリシー バインディングのメンバーの種類を指定します。次の値のいずれかを使用できます。userserviceAccountgroupdomain
MEMBER値は、IAM ポリシー バインディングのメンバーのメールアドレスか、ドメインを指定します。--role=ROLE必須。IAM ポリシー バインディングのロールの部分を指定します。
--roleフラグは、--memberフラグとともに指定する必要があります。--memberと--roleの 1 つの組み合わせが、1 つのバインディングに相当します。--table={true|false}または-t={true|false}省略可。テーブルまたはビューの IAM ポリシーからバインディングを削除するには、
trueに設定します。デフォルト値はfalseです。
RESOURCE は、ポリシー バインディングを削除するテーブルまたはビューです。
詳細については、IAM ポリシーのリファレンスをご覧ください。
bq rm
bq rm コマンドは、BigQuery リソースを削除するために使用します。
概要
bq rm [FLAGS] RESOURCE
フラグと引数
bq rm コマンドでは、次のフラグと引数を使用します。
--capacity_commitment={false|true}- 容量コミットメントを削除するには、
trueに設定し、--locationフラグを使用して、削除するコミットメントのロケーションを指定します。RESOURCEは、削除するコミットメントの ID に置き換えます。 --dataset={true|false}または-d={true|false}- データセットを削除するには、
trueに設定します。デフォルト値はfalseです。 --force={true|false}または-f={true|false}- 確認メッセージを表示せずにリソースを削除するには、
trueに設定します。デフォルト値はfalseです。 --job={true|false}または-j={true|false}- ジョブを削除するには、true に設定します。デフォルト値は false です。
--model={true|false}または-m={true|false}- BigQuery ML モデルを削除するには、
trueに設定します。デフォルトはfalseです。 --recursive={true|false}または-r{true|false}- データセットおよびその中のすべてのテーブル、テーブルデータ、モデルを削除するには、
trueに設定します。デフォルト値はfalseです。 --reservation={true|false}- 予約を削除するには、
trueに設定します。デフォルト値はfalseです。 --reservation_assignment={true|false}- 予約割り当てを削除するには、
trueに設定します。デフォルト値はfalseです。 --routine={true|false}- ルーティンを削除するには、
trueに設定します。デフォルト値はfalseです。ルーティンには、永続的なユーザー定義関数、テーブル関数(プレビュー)、またはストアド プロシージャがあります。 --table={true|false}または-t={true|false}- テーブルまたはビューを削除するには、
trueに設定します。デフォルト値はfalseです。 --transfer_config={true|false}- 転送構成を削除するには、
trueに設定します。デフォルト値はfalseです。 RESOURCE- 削除するリソース。
bq rm コマンドの使用方法の詳細については、以下をご覧ください。
bq set-iam-policy
bq set-iam-policy コマンドは、リソースの IAM ポリシーを指定または更新するために使用します。リソースには、テーブル、ビュー、スロット予約を指定できます。ポリシーを設定すると、新しいポリシーが stdout に出力されます。このポリシーは JSON 形式です。
更新するポリシーの etag フィールドは、現在のポリシーの etag の値と一致する必要があります。一致しない場合、更新は失敗します。この機能により、同時更新が防止されます。
リソースの現在のポリシーと etag 値は、bq get-iam-policy コマンドを使用することで取得できます。
概要
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
例
bq set-iam-policy myDataset.myTable policy.json
bq set-iam-policy --reservation myReservation policy.json
フラグと引数
bq set-iam-policy コマンドでは、次のフラグと引数を使用します。
--table={true|false}または-t={true|false}- 省略可。テーブルやビューの IAM ポリシーを設定するには、
trueに設定します。デフォルト値はfalseです。 --reservation={true|false}- 予約の IAM ポリシーを設定するには、
true(プレビュー)に設定します。デフォルト値はfalseです。このフラグを使用すると、RESOURCEは予約 ID として扱われます。予約には、プロジェクトとロケーションの接頭辞(省略可)を指定できます:myProject:myLocation.myReservation。
RESOURCE は、ポリシーを更新するテーブルまたはビューです。
FILE_NAME は、ポリシーを含むファイル(JSON 形式)の名前です。
bq set-iam-policy コマンドの詳細については、IAM を使用してリソースへのアクセスを制御するをご覧ください。
bq show
bq show コマンドは、リソースに関する情報を表示するために使用します。
概要
bq show [FLAGS] [RESOURCE]
フラグと引数
bq show コマンドでは、次のフラグと引数を使用します。
--assignee_id=ASSIGNEE--reservation_assignmentフラグとともに使用すると、フォルダ、組織、またはプロジェクトの ID を指定します。表示する割り当て先の種類を指定するには、--assignee_typeフラグを使用します。--assignee_type=TYPE--reservation_assignmentフラグとともに使用されるときに、表示するエンティティのタイプを指定します。次の値のいずれかを使用できます。FOLDERORGANIZATIONPROJECT
--connection={true|false}- 接続に関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。詳細については、接続リソースの表示をご覧ください。 --dataset={true|false}または-d={true|false}- データセットに関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。 --encryption_service_account={true|false}- プロジェクトの暗号化サービス アカウントが存在する場合はそれを表示し、存在しない場合にアカウントを作成するには、
trueに設定します。デフォルト値はfalseです。--project_idフラグとともに使用します。 --job={true|false}または-j={true|false}- ジョブに関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。 --job_type=JOB_TYPE--reservation_assignmentフラグとともに使用されるとき、表示する予約割り当てのジョブタイプを指定します。次の値のいずれかを使用できます。QUERYPIPELINEML_EXTERNAL
--model={true|false}または-m={true|false}- BigQuery ML モデルに関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。 --reservation={true|false}- 予約に関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。 --reservation_assignment={true|false}trueに設定すると、このコマンドは、指定したフォルダ、組織、またはプロジェクトの予約割り当てを表示します。このコマンドは、ターゲット リソースの明示的な割り当てがあれば、それを表示します。割り当てがない場合、親リソースから継承した割り当てを表示します。たとえば、プロジェクトは親フォルダから割り当てを継承できます。このフラグを使用する場合は、--job_type、--assignee_type、--assignee_idフラグが適用されます。デフォルト値はfalseです。--routine={true|false}- ルーティンに関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。ルーティンには、永続的なユーザー定義関数、テーブル関数(プレビュー)、またはストアド プロシージャがあります。 --schema={true|false}- テーブルのスキーマだけを表示するには、
trueに設定します。デフォルト値はfalseです。 --transfer_config={true|false}- 転送構成に関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。 --transfer_run={true|false}- 転送実行に関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。 --view={true|false}- ビューに関する情報を表示するには、
trueに設定します。デフォルト値はfalseです。 RESOURCE- 情報を表示するリソース。
bq show コマンドの使用方法の詳細については、以下をご覧ください。
bq update
bq update コマンドは、リソースを変更するために使用します。
概要
bq update [FLAGS] [RESOURCE]
フラグと引数
bq update コマンドでは、次のフラグと引数を使用します。
--add_tags=TAGS- データセットとテーブルでのみ使用できます。リソースに付加するタグをカンマで区切って指定します。例:
556741164180/env:prod,myProject/department:sales。各タグには、名前空間付きのキー名と値の略称が必要です。 --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- 予約に割り当てられている自動スケーリング スロットの数。これは、最大予約サイズの値からベースラインのスロット数を差し引いた値に等しくなります。
--reservationフラグを使用する場合とエディションで予約が作成された場合にのみ使用できます。 --capacity_commitment={true|false}- 容量コミットメントを更新するには、
trueに設定します。このフラグは、--merge、--plan、--renewal_plan、--split、--slotsフラグと併用します。 --clear_all_tags={true|false}- データセットとテーブルでのみ使用できます。リソースからすべてのタグを消去するには、
trueに設定します。デフォルト値はfalseです。 --clear_label=KEY:VALUE- リソースからラベルを削除します。削除するラベルを指定するには、
KEY:VALUEの形式を使用します。複数のラベルを削除するには、このフラグを繰り返します。 --clustering_fields=COLUMNS- テーブルのクラスタリング仕様を更新します。COLUMNS 値は、クラスタリングに使用する列名のカンマ区切りリストです。クラスタリングを削除するには、COLUMNS に
""(空の文字列)を設定します。詳細については、クラスタリング仕様を変更するをご覧ください。 --target_job_concurrency=CONCURRENCY--reservationフラグとともに使用すると、同時に実行されるクエリのターゲット数が指定されます。デフォルト値は 0 です。つまり、予約サイズに基づいて同時実行が自動的に設定されます。詳細については、クエリキューの使用をご覧ください。--dataset={true|false}または-d={true|false}- データセットを更新するには、
trueに設定します。デフォルト値はfalseです。 --default_kms_key=KEY- データセット内のテーブルデータを暗号化するデフォルトの Cloud KMS 鍵のリソース ID を指定します。デフォルトの鍵は、テーブル作成またはクエリの際に明示的な鍵が指定されていない場合に使用されます。
--default_partition_expiration=SECONDSデータセット内に新しく作成されるパーティション分割テーブルのすべてのパーティションに対して、デフォルトの有効期限を秒単位で指定する整数。このフラグには最小値はありません。
パーティションの日付(UTC)にこの整数値を足した値がパーティションの有効期限になります。このプロパティを設定すると、データセット レベルのデフォルトのテーブル有効期限が存在する場合には、それをオーバーライドします。パーティション分割テーブルの作成時または更新時に
--time_partitioning_expirationフラグを指定した場合は、データセット レベルのデフォルトのパーティション有効期限よりもテーブルレベルのパーティション有効期限が優先されます。既存の有効期限を削除するには、0を指定します。--default_table_expiration=SECONDSデータセットの新しく作成されるテーブルのデフォルトの存続期間を秒単位で更新する整数。現在の UTC 時間にこの値を足した値が、有効期限に設定されます。既存の有効期限を削除するには、
0を指定します。--description=DESCRIPTIONデータセット、テーブル、テーブル スナップショット、モデル、またはビューの説明を更新します。
--destination_reservation_id=RESERVATION_ID--reservation_assignmentフラグとともに使用すると、既存の予約割り当てを指定の予約に移動します。値は、移動先の予約の ID です。詳細については、割り当てを別の予約に移動するをご覧ください。--display_name=DISPLAY_NAME転送構成の表示名を更新します。
--etag=ETAGフィルタとして機能します。
ETAG引数で指定された文字列と一致する ETag がリソースに含まれている場合にのみ、リソースを更新します。--expiration SECONDSテーブル、モデル、テーブル スナップショット、ビューの有効期限を更新するには、このフラグを指定します。
SECONDSは、更新時刻から有効期限までの時間(秒)に置き換えます。テーブル、モデル、テーブル スナップショット、ビューの有効期限を削除するには、SECONDS引数を 0 に設定します。--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}指定されたテーブル定義で外部テーブルを更新します。テーブル定義は、ローカルの JSON テーブル定義ファイルへのパスか、
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI形式のインラインのテーブル定義です。SCHEMA値は、FIELD:DATA_TYPE, FIELD:DATA_TYPE形式の列定義のカンマ区切りリストです。テーブル定義ファイルを使用する場合、ファイル名に拡張子を追加しないでください。次に例を示します。
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
--ignore_idle_slots={true|false}--reservationフラグとともに使用します。指定された予約で実行されているジョブを、その予約に割り当てられたスロットのみに制限するには、trueに設定します。デフォルト値はfalseで、指定された予約のジョブは、他の予約のアイドル スロット、または予約に割り当てられていないスロットを使用できます。詳細については、アイドル スロットをご覧ください。--max_staleness=INTERVALマテリアライズド ビューまたは外部テーブルに対してクエリを実行する際に許容される最大の古さを決定する INTERVAL 値を指定します。デフォルト値は
0-0 0 0:0:0です。例:
- 1 日:
0-0 1 0:0:0 - 1 時間:
0-0 0 1:0:0
このフラグを使用するには、
--external_table_definitionフラグを使用してテーブル定義を指定する必要があります。- 1 日:
--max_time_travel_hours=HOURSデータセットのタイムトラベル期間を時間で指定します。
--max_time_travel_hours値は、24 の倍数(48、72、96、120、144、168)であり、48(2 日)~168(7 日)の範囲にする必要があります。--merge={true|false}2 つの容量コミットメントを統合するには、
--mergeをtrueに設定します。--capacity_commitmentフラグをtrueに設定し、--locationフラグを使用して、マージするコミットメントのロケーションを指定します。RESOURCEには、統合する 2 つのコミットメントの ID をカンマ区切りで指定します。詳細については、2 つのコミットメントを統合するをご覧ください。--metadata_cache_mode=METADATA_CACHE_MODE接続のある外部テーブルのメタデータ キャッシュを有効にします。次の値のいずれかを使用できます。
AUTOMATICMANUAL
キャッシュに保存されたメタデータを自動的に更新するには、
AUTOMATICを指定します。自動更新を停止するには、MANUALを指定します。このフラグを使用するには、--external_table_definitionフラグを使用してテーブル定義を指定する必要があります。--model={true|false}または-m={true|false}BigQuery ML モデルのメタデータを更新するには、
trueに設定します。デフォルト値はfalseです。--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}転送構成のパラメータを更新します。パラメータは、データソースによって異なります。詳細については、BigQuery Data Transfer Service の概要をご覧ください。
--plan=PLAN--capacity_commitmentフラグとともに使用すると、容量コミットメントが、指定よりも長いコミットメント プランに変換されます。PLANは、次のいずれかに置き換えます。ANNUALTHREE_YEAR
--refresh_window_days=DAYS転送構成の更新後の更新間隔(日数)を指定する整数。
--remove_tags=TAG_KEYSデータセットとテーブルでのみ使用できます。リソースから削除するタグをカンマで区切って指定します(例:
556741164180/env,myProject/department)。各タグキーには名前空間付きのキー名が必要です。--renewal_plan=PLAN--capacity_commitmentフラグとともに使用すると、年間容量コミットメントの更新プランが更新されます。PLANは、次のいずれかに置き換えます。ANNUALTHREE_YEARNONE
従来の定額料金をご利用のお客様は、次のいずれかの値を使用することもできます。
FLEXMONTHLYANNUAL
--reservation={true|false}予約を更新するかどうかを指定します。デフォルト値は
falseです。--reservation_assignment={true|false}予約割り当てを更新するかどうかを指定します。デフォルト値は
falseです。--schema={SCHEMA_FILE|SCHEMA}ローカルの JSON スキーマ ファイルへのパス、または
FIELD:DATA_TYPE, FIELD:DATA_TYPE形式の列定義のカンマ区切りリストのいずれかを指定します。スキーマ ファイルを使用する場合、ファイル名に拡張子を追加しないでください。次に例を示します。
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNT転送構成の認証情報として使用するサービス アカウントを指定します。
--set_label=KEY:VALUE更新するラベルを指定します。複数のラベルを更新するには、このフラグを繰り返します。
--slots=NUMBER_OF_BASELINE_SLOTS--capacity_commitmentフラグと--splitフラグとともに使用する場合は、既存の容量コミットメントから新しいコミットメントに分割するベースラインのスロット数を指定します。RESOURCEは、分割するコミットメントの ID に置き換えます。--reservationフラグとともに使用すると、予約のスロット数が更新されます。--source=FILEリソースの更新に使用されるペイロードを含むローカル JSON ファイルへのパス。たとえば、このフラグを使用して、更新された
accessプロパティを持つデータセット リソースを含む JSON ファイルを指定できます。このファイルは、データセットのアクセス制御を上書きするために使用されます。JSON ファイルにバイト オーダー マーク(BOM)を含めてはなりません。--split={true|false}trueに設定して--capacity_commitmentフラグとともに使用すると、既存の容量コミットメントの分割を指定できます。--locationフラグを使用して、分割するコミットメントのロケーションを指定します。--slotsフラグを使用して、分割するスロットの数を指定します。RESOURCEは、分割するコミットメントの ID に置き換えます。詳細については、コミットメントを分割するをご覧ください。--storage_billing_model=BILLING_MODELデータセットのストレージ課金モデルを指定します。ストレージ料金の計算時に物理バイトを使用する場合は
--storage_billing_model値をPHYSICALに設定し、論理バイトを使用する場合はLOGICALに設定します。データセットの課金モデルを変更した場合は、変更が反映されるまでに 24 時間を要します。
データセットのストレージ課金モデルを変更した後、再度ストレージ課金モデルを変更するには、14 日間お待ちいただく必要があります。
--table={true|false}または-t={true|false}テーブルを更新するかどうかを指定します。デフォルト値は
falseです。--target_dataset=DATASET指定すると、転送構成のターゲット データセットが更新されます。
--time_partitioning_expiration=SECONDS時間ベースのパーティションを削除する必要があるタイミングを更新する整数(秒単位)。パーティションの日付(UTC)に、この整数値を足した値が有効期限になります。負の数は、有効期限がないことを示します。
--time_partitioning_field=COLUMN_NAME時間ベースのパーティションの作成方法を決定するために使用するフィールドを更新します。この値を指定せずに時間ベースのパーティショニングを有効にすると、テーブルは読み込み時間に基づいてパーティショニングされます。
--time_partitioning_type=INTERVALパーティショニングのタイプを指定します。次の値のいずれかを使用できます。
DAYHOURMONTHYEAR
既存のテーブルのパーティショニング タイプは変更できません。
--transfer_config={true|false}転送構成を更新するかどうかを指定します。デフォルト値は
falseです。--update_credentials={true|false}転送構成の認証情報を更新するかどうかを指定します。デフォルト値は
falseです。--use_legacy_sql={true|false}falseに設定すると、ビューの SQL クエリがレガシー SQL から GoogleSQL に更新されます。デフォルト値は構成設定によって決まります。構成設定が指定されていない場合、デフォルト値はtrueで、クエリはレガシー SQL を使用します。--vertex_ai_model_id=VERTEX_AI_MODEL_ID指定すると、Vertex AI Model Registry に登録されている BigQuery ML モデルのモデル ID が更新されます。
--view=QUERY指定すると、ビューの SQL クエリが更新されます。
--view_udf_resource=FILECloud Storage URI、またはビューの SQL クエリのユーザー定義関数リソースとして読み込まれてすぐに評価されるローカル コードファイルのパスを更新します。複数のファイルを指定するには、このフラグを繰り返します。
RESOURCE更新するリソース。
bq update コマンドの使用方法の詳細については、以下をご覧ください。
bq version
bq コマンドライン ツールのバージョン番号を表示するには、bq version コマンドを使用します。
概要
bq version
bq wait
bq wait コマンドは、ジョブの終了を指定した秒間待つために使用します。ジョブが指定されていない場合、コマンドは現在のジョブの終了を待ちます。
概要
bq wait [FLAGS] [JOB] [SECONDS]
例
bq wait
bq wait --wait_for_status=RUNNING 12345 100
フラグと引数
bq wait コマンドでは、次のフラグと引数を使用します。
--fail_on_error={true|false}- ジョブが失敗しても、待機時間内にジョブが完了した場合は成功を返すには、
falseに設定します。デフォルト値はtrueで、待機時間が経過後、ジョブがまだ実行中か、失敗して完了した場合はエラーで終了します。 --wait_for_status=STATUS指定すると、特定のジョブ ステータスになるまで待機してから終了します。次の値のいずれかを使用できます。
PENDINGRUNNINGDONE
デフォルト値は
DONEです。JOB待つ対象のジョブを指定します。ジョブ ID は、
bq ls --jobs myProjectコマンドを使用することで確認できます。SECONDSジョブが終了するまでの最大待機時間(秒)を指定します。
0を入力すると、コマンドでジョブ完了がポーリングされて、すぐに結果が返されます。整数値を指定しない場合、コマンドはジョブが終了するまで待機します。