指令列工具參考資料

本文件針對 bq 指令列工具的指令和標記提供了詳細的說明。如要瞭解如何使用 CLI,請參閱使用 bq 指令列工具一文。

通用標記

您可以搭配 bq 指令列工具使用下列通用標記。

[已淘汰] 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
指令列工具設定檔的路徑。設定檔會為任何標記指定新預設值,並可透過在指令列上指定標記的方式覆寫。如果未指定 --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
如果有指定,則指定檔案中的標記定義會插入至指令列工具。預設值為 ''
--format

指定指令輸出內容的格式,選項包括:

  • pretty:採特定格式的資料表輸出內容
  • sparse:簡化的資料表輸出內容
  • prettyjson:容易理解的 JSON 格式
  • json:儘可能壓縮到最小的 JSON 格式
  • csv:包含標頭的 csv 格式

prettysparseprettyjson 是使用者能理解的格式。 jsoncsv 適合用來傳送至其他程式。如果指定 none,指令就不會產生任何輸出內容。如果缺少 --format 標記,系統就會根據指令選擇適當的輸出格式。

--headless

指定是否要在沒有使用者互動的情況下執行 bq 工作階段。如果設為 true,系統就會停用互動。舉例來說,debug_mode 不會觸發偵錯工具,列印資訊的頻率也會降低。預設值為 false

--job_id

在要求中使用的專屬工作 ID。如果未在工作建立要求中指定,系統會產生工作 ID。這個標記僅適用於用來建立工作的指令:cpextractloadquery。詳情請參閱產生工作 ID 一文。

--job_property

要在工作設定的屬性欄位中加入的額外鍵/值組合。重複這個標記即可指定其他屬性。

--location

您的區域或多區域位置的對應字串。cancel 指令與 show 指令都需要位置標記 (當您使用 -j 標記顯示工作相關資訊時)。對於下列指令,位置標記是選用的。

所有其他的指令都會忽略 --location 標記。

--max_rows_per_request

一個整數,用來指定每次讀取所傳回的資料列數量上限。

--project_id

在要求中使用的專案 ID,預設值為 ''

--proxy_address

用來連線至 GCP 的 Proxy 主機名稱或 IP 位址,預設值為 ''

--proxy_password

透過 Proxy 主機進行驗證時使用的密碼,預設值為 ''

--proxy_port

用來連線至 Proxy 主機的通訊埠編號,預設值為 ''

--proxy_username

透過 Proxy 主機進行驗證時使用的使用者名稱,預設值為 ''

--quiet-q

如果設為 true,系統在執行工作時會忽略狀態更新,預設值為 false

--synchronous_mode-sync

如果設為 true,系統就會等候指令執行完畢再傳回結果,並使用工作完成狀態做為錯誤代碼。如果設為 false,系統就會建立工作,並使用已成功完成的狀態做為錯誤代碼。預設值為 true

--trace

token:[TOKEN] 格式指定的追蹤憑證,用來附在 API 要求中。

指令專屬標記

您可以在 bq 指令列工具中使用下列指令標記。

bq cancel

cancel 指令的用途是取消工作。cancel 指令沒有任何指令專屬標記。

要進一步瞭解如何使用 cancel 指令,請參閱取消工作一文。

cancel 指令可使用下列通用標記。

--job_id
在取消要求中使用的專屬工作 ID。您可以直接指定工作 ID,而不使用 --job_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 指令的用途是將資料表中的資料匯出至 Google 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 指令載入 Google Cloud Storage 中的資料,請參閱下列文章:

如要進一步瞭解如何使用 load 指令載入本機來源中的資料,請參閱將資料從本機資料來源載入至 BigQuery 一文。

load 指令支援下列指令專屬標記。

--allow_jagged_rows
如果有指定,CSV 資料中就可缺少結尾自選欄。
--allow_quoted_newlines
如果有指定,CSV 資料中就可使用加上引號的換行符號。
--autodetect
如果有指定,就會針對 CSV 和 JSON 資料啟用結構定義自動偵測功能。
--destination_kms_key
用來加密目的地資料表資料的 Cloud KMS 金鑰。
--encoding-E
資料中使用的字元編碼。可用的值包括:
  • ISO-8859-1 (又稱為 Latin-1)
  • UTF-8
--field_delimiter-F
用來表示資料中資料欄間界線的字元。\ttab 都可用來當做定位點分隔符號。
--ignore_unknown_values
如果有指定,CSV 或 JSON 資料中就可有其他無法辨識的值 (但會遭忽略)。
--max_bad_records
一個整數,用來指定整個工作失敗前可允許的錯誤記錄數量上限。預設值為 0。無論 --max_bad_records 值為何,系統最多只會傳回五個任何類型的錯誤。
--null_marker
選用的自訂字串,代表 CSV 資料中的 NULL 值。
--projection_fields
如果與設為 DATASTORE_BACKUP--source_format 搭配使用,就可用來表示要從 Cloud Datastore 匯出內容中以逗號分隔清單載入的實體屬性。屬性名稱有大小寫之分,且必須參照頂層屬性。預設值為 ''。此標記也可與 Cloud Firestore 匯出內容搭配使用。
--quote
用來括住記錄的引號字元。預設值為 ",表示不加上引號字元。
--replace
如果有指定,系統就會在載入新資料時清除現有資料。預設值為 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

一個整數,用來指定系統應在經過多少時間後刪除時間分區 (以秒為單位)。到期時間為分區的世界標準時間日期加此整數值。負數表示不會到期。

--time_partitioning_field

用來決定時間分區建立方式的欄位。如果啟用時間分區時沒有這個值,系統就會根據載入時間對資料表進行分區。

--time_partitioning_type

針對資料表啟用時間分區並設定分區類型。目前唯一可使用的值為 DAY,亦即每天產生一個分區。

--use_avro_logical_types

:如果 sourceFormat 設為 AVRO,表示是否將邏輯類型轉換為其對應類型 (例如 TIMESTAMP),而非使用其原始類型 (例如 INTEGER)。

bq ls

ls 指令會列出集合中的物件。

如要進一步瞭解如何使用 ls 指令,請參閱下列文章:

ls 指令支援下列指令專屬標記。

--all-a
如果有指定,系統會顯示所有結果:來自所有使用者或所有資料集 (包括隱藏的資料集) 的工作。如果是要列出移轉設定或移轉執行記錄,就不需要使用這個標記。
--datasets-d
如果有指定,系統就會列出資料集。預設值為 false
--filter

列出符合篩選器運算式的資料集。以空格分隔的方式列出標籤鍵和值,格式為 labels.[KEY]:[VALUE]。如果是移轉設定,請使用篩選器運算式 (格式為 dataSourceIds:[DATA_SOURCES]) 針對指定資料來源列出移轉設定。可用的值包括:

  • dcm_dt: Campaign Manager
  • google_cloud_storage: Cloud Storage
  • dfp_dt: Google Ad Manager
  • adwords: Google Ads
  • merchant_center: Google Merchant Center
  • play: Google Play
  • 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

--run_attempt

將這個標記設為 LATEST 即可只列出移轉作業的最新執行記錄。

--transfer_config

如果有指定,系統會列出移轉設定。使用這個標記時,您必須一併指定 --transfer_location。預設值為 false

--transfer_location

列出指定位置中的移轉設定。移轉位置是您在建立移轉作業時所設定的。

--transfer_log

如果有指定,系統會針對指定移轉執行作業列出移轉記錄訊息。預設值為 false

--transfer_run

如果有指定,系統會列出移轉執行記錄。預設值為 false

bq mk

mk 指令會建立資料集、資料表、資料檢視或移轉設定。

如要進一步瞭解如何透過 BigQuery 使用 mk 指令,請參閱下列文章:

如要進一步瞭解如何透過 BigQuery 資料移轉服務使用 mk 指令,請參閱下列文章:

mk 指令支援下列指令專屬標記。

--clustering_fields
以逗號分隔的資料欄名稱清單,用來對資料表進行分群。目前只有分區資料表可以使用這個標記。如果有指定,系統會對資料表進行分區,然後使用這些資料欄進行分群。
--data_location
(舊版) 指定資料集位置。請改用 --location 通用標記。
--data_source

指定移轉設定的資料來源,可用的值包括:

  • dcm_dt: Campaign Manager
  • google_cloud_storage: Cloud Storage
  • dfp_dt: Google Ad Manager
  • adwords: Google Ads
  • merchant_center: Google Merchant Center
  • play: Google Play
  • youtube_channel: YouTube 頻道報告
  • youtube_content_owner: YouTube 內容擁有者報告

預設值為 ''

--dataset-d

如果有指定,系統會建立資料集。預設值為 false

--default_partition_expiration

一個整數,用來指定資料集中新建立分區資料表中所有分區的預設到期時間 (以秒為單位)。分區的到期時間會設定為分區的世界標準時間日期加此整數值。如果設定此屬性,系統會覆寫資料集層級預設資料表到期時間 (如果存在)。如果您在建立或更新分區資料表時使用了 --time_partitioning_expiration 標記,則到期時間會採資料表層級的分區到期時間,而非資料集層級的預設分區到期時間。

--default_table_expiration

一個整數,用來指定資料集中新建立資料表的預設生命週期 (以秒為單位)。到期時間會設為目前世界標準時間加此值。

--description

資料集或資料表的說明。

--destination_kms_key

用來加密資料表資料的 Cloud KMS 金鑰。

--display_name

移轉設定的顯示名稱,預設值為 ''

--end_time

一個時間戳記,用來針對特定範圍的移轉執行作業指定結束時間。時間戳記的格式為 RFC3339 UTC "Zulu"。

--expiration

一個整數,用來指定資料表或資料檢視的到期時間。到期時間會設為目前世界標準時間加此值。

--external_table_definition

指定用來建立外部資料表的資料表定義。這個值可以是內嵌資料表定義或 JSON 資料表定義所屬檔案的路徑。内嵌定義的格式為 schema@format=uri

--force-f

如果有指定,則資源已存在時,結束代碼為 0。預設值為 false

--label

要套用至資料表的標籤,格式為 [KEY]:[VALUE]。重複這個標記即可指定多個標籤。

--params-p

移轉設定參數,採 JSON 格式 {"[PARAMETER]":"[VALUE]"}。參數會因資料來源而有所不同。詳情請參閱 BigQuery 資料移轉服務簡介

--refresh_window_days

一個整數,用來指定移轉設定的更新期 (以天為單位)。預設值為 0

--require_partition_filter

如果有指定,此標記可決定在查詢提供的資料表時是否需要分區篩選器。此標記僅適用於分區資料表。預設值為 true

--schema

本機 JSON 結構定義檔案路徑,或以逗號分隔的資料欄定義清單 (格式為 [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE])。預設值為 ''

--start_time

一個時間戳記,用來針對特定範圍的移轉執行作業指定開始時間。時間戳記的格式為 RFC3339 UTC "Zulu"。

--table-t

如果有指定,系統會建立資料表。預設值為 false

--target_dataset

移轉設定的目標資料集,預設值為 ''

--time_partitioning_expiration

一個整數,用來指定系統應在經過多少時間後刪除時間分區 (以秒為單位)。到期時間為分區的世界標準時間日期加此整數值。負數表示不會到期。

--time_partitioning_field

用來決定時間分區建立方式的欄位。如果啟用時間分區時沒有這個值,系統就會根據載入時間對資料表進行分區。

--time_partitioning_type

針對資料表啟用時間分區並設定分區類型。目前唯一可使用的值為 DAY,亦即每天產生一個分區。

--transfer_config

如果有指定,系統會建立移轉設定。使用這個標記時,您必須一併指定以下參數:--data_source--display_name--target_dataset--params--params 的選項因特定 data_source 而異。預設值為 false

--transfer_run

如果有指定,系統會針對特定時間範圍建立移轉執行作業。預設值為 false

--use_legacy_sql

如果設為 false,系統會使用標準 SQL 查詢來建立資料檢視。預設值為 true (使用舊版 SQL)。

--view

如果有指定,系統會建立資料檢視。預設值為 ''

--view_udf_resource

特定本機程式碼檔案的 Cloud Storage URI 或路徑,該檔案會在載入後立即接受評估,以做為使用者定義函式資源供資料檢視的 SQL 查詢使用。重複這個標記即可指定多個檔案。

bq mkdef

mkdef 指令會以 JSON 格式,針對儲存在 Google Cloud Storage 或 Google 雲端硬碟中的資料建立資料表定義。

如要進一步瞭解如何使用 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
一個整數,用來指定系統應在經過多少時間後刪除時間分區 (以秒為單位)。到期時間為分區的世界標準時間日期加此整數值。負數表示不會到期。
--time_partitioning_type
針對資料表啟用時間分區並設定分區類型。目前唯一可使用的值為 DAY,亦即每天產生一個分區。

bq query

query 指令會建立查詢工作來執行提供的 SQL 查詢。

如要進一步瞭解如何使用 query 指令,請參閱執行互動式與批次查詢一文。

query 指令支援下列指令專屬標記。

--allow_large_results
如果有指定,就會針對舊版 SQL 查詢啟用大型目的地資料表。
--append_table
如果有指定,就會在目的地資料表中附加資料。預設值為 false
--batch
如果有指定,就會以批次模式執行查詢。預設值為 false
--clustering_fields
如果有指定,系統會在查詢中使用逗號分隔的資料欄清單對目的地資料表進行分群。這個標記必須與時間分區標記搭配使用,才能建立擷取時間分區資料表或以 DATETIMESTAMP 資料欄進行分區的資料表。如果有指定,系統會先對資料表進行分區,然後使用提供的資料欄進行分群。
--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] 的查詢參數。如果將名稱留空,系統會建立位置參數。您可以省略 [TYPE],以 name::value::value 的格式來假設它是 STRING 值。NULL 會產生空值。重複這個標記即可指定多個參數。
--replace
如果有指定,系統會使用查詢結果覆寫目的地資料表。預設值為 false
--require_cache
如果有指定,系統就只會在可從快取中擷取結果時執行查詢。
--require_partition_filter
如果有指定,查詢提供的資料表時就需要分區篩選器。這個標記只能與分區資料表搭配使用。
--rpc
如果有指定,系統會使用 rpc-style 查詢 API (而不是 REST API jobs.insert 方法)。預設值為 false
--schema_update_option

附加資料至資料表 (在載入工作或查詢工作中) 或覆寫資料表分區時,指定目的地資料表結構定義的更新方式。可用的值包括:

  • ALLOW_FIELD_ADDITION:允許新增欄位
  • ALLOW_FIELD_RELAXATION:允許將 REQUIRED 欄位放寬為 NULLABLE

重複這個標記即可指定多個結構定義更新選項。

--start_row-s

一個整數,用來指定要在查詢結果中傳回的第一個資料列。預設值為 0

--time_partitioning_expiration

一個整數,用來指定系統應在經過多少時間後刪除時間分區 (以秒為單位)。到期時間為分區的世界標準時間日期加此整數值。負數表示不會到期。

--time_partitioning_field

用來決定時間分區建立方式的欄位。如果啟用時間分區時沒有這個值,系統就會根據載入時間對資料表進行分區。

--time_partitioning_type

針對資料表啟用時間分區並設定分區類型。目前唯一可使用的值為 DAY,亦即每天產生一個分區。

--udf_resource

這個標記僅適用於舊版 SQL 查詢。如果有指定,這就是特定本機程式碼檔案的 Cloud Storage URI 或路徑,該檔案會在載入後立即接受評估,以做為使用者定義函式資源供舊版 SQL 查詢使用。重複這個標記即可指定多個檔案。

--use_cache

如果有指定,系統會快取查詢結果。預設值為 true

--use_legacy_sql

如果設為 false,系統會執行標準 SQL 查詢。預設值為 true (使用舊版 SQL)。

bq rm

rm 指令會刪除資料集、資料表、資料檢視、模型或移轉設定。

如要進一步瞭解如何使用 rm 指令,請參閱下列文章:

rm 指令支援下列指令專屬標記。

--dataset-d
如果有指定,系統會刪除資料集。預設值為 false
--force-f
如果有指定,系統會直接刪除資料表、資料檢視、模型或資料集,而不會顯示提示。預設值為 false
--model-m
如果有指定,系統會刪除 BigQuery ML 模型。
--recursive-r
如果有指定,系統會刪除資料集和當中的任何資料表、資料表資料或模型。預設值為 false
--table-t
如果有指定,系統會刪除資料表。預設值為 false
--transfer_config
如果有指定,系統會刪除移轉設定。預設值為 false

bq show

show 指令會顯示物件相關資訊。

如要進一步瞭解如何使用 show 指令,請參閱下列文章:

show 指令支援下列指令專屬標記。

--dataset-d
如果有指定,系統會顯示資料集相關資訊。預設值為 false
--encryption_service_account
如果有指定,系統會顯示使用者的服務帳戶 (如果存在) 或建立服務帳戶 (如果本來不存在)。預設值為 false
--job-j
如果有指定,系統會顯示工作相關資訊。預設值為 false
--model-m
如果有指定,系統會顯示 BigQuery ML 模型相關資訊。
--schema
如果有指定,系統就只會顯示資料表的結構定義。預設值為 false
--transfer_config
如果有指定,系統會顯示移轉設定相關資訊。預設值為 false
--transfer_run
如果有指定,系統會顯示移轉執行作業相關資訊。預設值為 false
--view
如果有指定,系統會顯示資料檢視相關資訊。預設值為 false

bq update

update 指令會更新資料集、資料表、資料檢視、模型或移轉設定。

如要進一步瞭解如何使用 update 指令,請參閱下列文章:

update 指令支援下列指令專屬標記。

--clear_label
[KEY]: 的格式移除標籤。重複這個標記即可移除多個標籤。
--dataset-d
更新資料集,預設值為 false
--default_partition_expiration

一個整數,用來指定資料集中新建立分區資料表中所有分區的預設到期時間 (以秒為單位)。此標記沒有最小值。

分區的到期時間會設定為分區的世界標準時間日期加此整數值。如果設定此屬性,系統會使用此整數覆寫資料集層級的預設資料表到期時間 (如果存在)。如果您在建立或更新分區資料表時使用了 --time_partitioning_expiration 標記,則到期時間會採資料表層級的分區到期時間,而非資料集層級的預設分區到期時間。指定 0 可移除現有的到期時間。

--default_table_expiration

一個整數,用來更新資料集中新建立資料表的預設生命週期 (以秒為單位)。到期時間會設為目前世界標準時間加此值。指定 0 可移除現有的到期時間。

--description

更新資料集、資料表、模型或資料檢視的說明。

--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]

--model-m

更新 BigQuery ML 模型的中繼資料。

--params-p

更新移轉設定參數,採 JSON 格式 {"[PARAMETER]":"[VALUE]"}。參數會因資料來源而有所不同。詳情請參閱 BigQuery 資料移轉服務簡介

--refresh_window_days

一個整數,用來指定移轉設定的更新期 (以天為單位)。

--schema

本機 JSON 結構定義檔案路徑,或以逗號分隔的資料欄定義清單 (格式為 [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE])。預設值為 ''

--set_label

要以 [KEY]:[VALUE] 格式更新的標籤。重複這個標記即可更新多個標籤。

--source

包含更新資源用酬載的本機 JSON 檔案路徑。例如,您可以使用此標記指定 JSON 檔案,其中包含具有已更新 access 屬性的資料集資源。該檔案可用來覆寫資料集的存取權控管。

--table-t

如果有指定,系統會更新資料表。預設值為 false

--target_dataset

如果有指定,系統會更新移轉設定的目標資料集。預設值為 ''

--time_partitioning_expiration

一個整數,用來更新系統應在經過多少時間後刪除時間分區 (以秒為單位)。到期時間為分區的世界標準時間日期加此整數值。負數表示不會到期。

--time_partitioning_field

更新用來決定時間分區建立方式的欄位。如果啟用時間分區時沒有這個值,系統就會根據載入時間對資料表進行分區。

--time_partitioning_type

更新資料表的時間分區類型。目前唯一可使用的值為 DAY,亦即每天產生一個分區。

--transfer_config

如果有指定,系統會更新移轉設定。預設值為 false

--update_credentials

如果有指定,系統會更新移轉設定憑證。預設值為 false

--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

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁