命令行工具参考

本文档详述了 bq 命令行工具的命令和标志。如需了解如何使用 CLI,请参阅使用 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
此标志表示命令行工具配置文件的路径。该配置文件指定任意标志的新默认值,可通过在命令行中指定标志来予以覆盖。如果未指定 --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 的代理主机的名称或 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 命令用于将表数据导出至 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 值是多少,任意类型的错误最多返回 5 个。
--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

此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。

--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 命令会创建数据集、表、视图或传输配置。

如需详细了解如何将 mk 命令与 BigQuery 结合使用,请参阅:

如需详细了解如何将 mk 命令与 BigQuery Data Transfer Service 结合使用,请参阅:

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

此标志代表一个整数,用于指定数据集中新创建的分区表中所有分区的默认到期时间(以秒为单位)。分区的到期时间设置为分区的世界协调时间 (UTC) 日期加上这个整数值。如果设置了该属性,则该属性将覆盖数据集级层的默认表到期时间(如果存在)。如果在创建或更新分区表时提供 --time_partitioning_expiration 标志,则表级层分区到期时间优先于数据集级层默认分区到期时间。

--default_table_expiration

此标志代表一个整数,用于指定数据集中新创建的表的默认生命周期(以秒为单位)。到期时间设置为当前世界协调时间 (UTC) 加上此值。

--description

此标志表示数据集或表的说明。

--destination_kms_key

此标志表示用于加密表数据的 Cloud KMS 密钥。

--display_name

此标志表示传输配置的显示名称。默认值为 ''

--end_time

此标志表示一个时间戳,用于指定某个传输运行范围的结束时间。时间戳的格式为 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)。

--expiration

此标志代表一个整数,用于指定表或视图的到期时间。到期时间设置为当前世界协调时间 (UTC) 加上此值。

--external_table_definition

此标志指定用于创建外部表的表定义。其值可以是内嵌表定义,也可以是包含 JSON 表定义的文件的路径。内嵌定义的格式是 schema@format=uri

--force-f

指定这些标志时,如果资源已存在,则退出代码为 0。默认值为 false

--label

此标志代表要在表上设置的一个标签。其格式为 [KEY]:[VALUE]。重复使用此标志可以指定多个标签。

--params-p

这些标志表示一个传输配置的参数,以 JSON 格式表示:{"[PARAMETER]":"[VALUE]"}。根据数据源的不同,参数也会有所不同。如需了解详情,请参阅 BigQuery Data Transfer Service 简介

--refresh_window_days

此标志代表一个整数,用于指定某个传输配置的刷新时段(以天为单位)。默认值为 0

--require_partition_filter

指定此标志时,此标志用于确定对于在所提供的表上执行的查询,是否需要分区过滤条件。此标志仅适用于分区表。默认值为 true

--schema

此标志表示本地 JSON 架构文件的路径,或者列定义的英文逗号分隔列表的路径,形式为 [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE]。默认值为 ''

--start_time

此标志表示一个时间戳,用于指定一系列传输运行的开始时间。时间戳的格式为 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)。

--table-t

指定这些标志时,系统会创建一个表。默认值为 false

--target_dataset

此标志表示某个传输配置的目标数据集。默认值为 ''

--time_partitioning_expiration

此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。

--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 Drive 中存储的数据。

如需详细了解如何使用 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,使用此值时,每天生成一个分区。

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],此时系统会假设应使用如下形式的 STRING 值:name::value::valueNULL 会生成 null 值。重复使用此标志可以指定多个参数。
--replace
如果指定了此标志,系统会使用查询结果覆盖目标表。默认值为 false
--require_cache
如果指定了此标志,则仅在可以从缓存中检索结果时运行查询。
--require_partition_filter
如果指定了此标志,则对于在所提供的表上执行的查询,需要分区过滤条件。此标志只能与分区表一起使用。
--rpc
如果指定了此标志,系统会使用远程过程调用 (RPC) 式的查询 API,而非 REST API jobs.insert 方法。默认值为 false
--schema_update_option

在将数据附加到表时(在加载作业或查询作业中),或者覆盖表分区时,此标志可指定如何更新目标表的架构。可采用的值包括:

  • ALLOW_FIELD_ADDITION:允许添加新字段
  • ALLOW_FIELD_RELAXATION:允许将 REQUIRED 字段放宽为 NULLABLE

重复使用此标志可指定多个架构更新选项。

--start_row-s

这些标志代表一个整数,指定了查询结果中要返回的第一行。默认值为 0

--time_partitioning_expiration

此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。

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

此标志代表一个整数,用于指定数据集中新创建的分区表中所有分区的默认到期时间(以秒为单位)。此标志没有最小值。

分区的到期时间设置为分区的世界协调时间 (UTC) 日期加上这个整数值。如果设置了该属性,则该属性将覆盖数据集级层的默认表到期时间(如果存在)。如果在创建或更新分区表时提供 --time_partitioning_expiration 标志,则表级层分区到期时间优先于数据集级层默认分区到期时间。如果指定 0,则系统会移除现有到期时间。

--default_table_expiration

此标志代表一个整数,用于更新数据集中新创建的表的默认生命周期(以秒为单位)。到期时间设置为当前世界协调时间 (UTC) 加上此值。如果指定 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 Data Transfer Service 简介

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

此标志表示一个整数,用于更新应删除基于时间的分区的时间(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。

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

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面