命令行工具参考文档

本文档详述了 bq 命令行工具的命令和标志。如需了解如何使用 bq 命令行工具,请参阅使用 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
指定此标志,以便在 Compute Engine 实例上运行时使用服务帐号凭据,而不是存储的凭据。如需了解详情,请参阅为实例创建和启用服务帐号。默认值为 false

bq 全局标志

--api
此标志表示要调用的 API 端点。默认值为 https://www.googleapis.com

--api_version此标志表示要使用的 API 版本。默认值为 v2

--apilog
所有 API 请求和响应都会记录到此标志指定的文件中。您还可以使用 stdoutstderr。指定空字符串 ('') 将指向 stdout
--bigqueryrc
此标志表示 bq 命令行工具配置文件的路径。该配置文件指定任意标志的新默认值,可通过在命令行中指定标志来予以覆盖。如果未指定 --bigqueryrc 标志,则使用 BIGQUERYRC 环境变量。如果未指定该变量,则会使用路径 ~/.bigqueryrc。默认值为 $HOME/.bigqueryrc
--ca_certificates_file
此标志表示您的 CA 证书文件所在的位置。默认值为 ''
--dataset_id
此标志表示要用于请求的默认数据集。系统会在不适用的情况下忽略此标志。您可以将该值设置为 project_id:datasetdataset。如果未提供 project_id,则使用默认项目。您可以通过指定 --project_id 标志来替换此设置。默认值为 ''
--debug_mode
此标志用于显示 Python 异常的回溯。默认值为 false
--disable_ssl_validation
此标志会停用 HTTPS 证书验证。默认值为 false
--discovery_file
此标志表示为了执行发现而要读取的 JSON 文件的文件名。默认值为 ''
--enable_gdrive
在此标志设置为 true 时,会请求一个包含 GDrive 范围的新 OAuth 令牌。如果将此标志设置为 false,则会请求一个不包含 GDrive 范围的新 OAuth 令牌。
--fingerprint_job_id
此标志决定是否使用派生自作业配置指纹的作业 ID。这能防止同一个作业意外运行多次。默认值为 false
--flagfile
指定此标志时,所提供的文件中的标志定义会插入 bq 命令行工具。默认值为 ''
--format

此标志指定命令输出的格式。选项包括:

  • pretty:设置了格式的表输出
  • sparse:较为简单的表输出
  • prettyjson:简单易读的 JSON 格式
  • json:极其紧凑的 JSON
  • csv:带有标题的 csv 格式

prettysparseprettyjson 用于提供人类可读的信息。jsoncsv 用于传递到另一个程序。如果指定了 none,命令不会产生任何输出。如果没有 --format 标志,则根据命令选择适当的输出格式。

--headless

此标志指定是否在无用户交互的情况下运行 bq 会话。在此标志设置为 true 时,系统会停用交互。例如,debug_mode 不会进入调试程序,信息打印的频率会降低。默认值为 false

--job_id

此标志表示用于请求的唯一任务 ID。如果在作业创建请求中未指定此标志,则生成一个任务 ID。此标志仅适用于创建作业的命令:cpextractloadquery。如需了解详情,请参阅以编程方式运行作业

--job_property

此标志是要在作业配置的属性字段中包含的一个额外键值对。重复使用此标志可指定多个额外属性。

--location

此标志表示与您的单地区或多地区位置相对应的字符串。在您使用 -j 标志显示有关作业的信息时,cancel 命令和 show 命令需要此位置标志。对于以下命令,位置标志为可选项。

所有其他命令均会忽略 --location 标志。

--max_rows_per_request

此标志表示一个整数,它指定了每次读取时返回的最大行数。

--project_id

此标志表示要为请求使用的项目 ID。默认值为 ''

--proxy_address

此标志表示要用于连接到 Google Cloud 的代理主机的名称或 IP 地址。默认值为 ''

--proxy_password

此标志表示在向代理主机进行身份验证时使用的密码。默认值为 ''

--proxy_port

此标志表示用于连接到代理主机的端口号。默认值为 ''

--proxy_username

此标志表示在向代理主机进行身份验证时使用的用户名。默认值为 ''

--quiet-q

如果此标志设置为 true,系统会在作业运行过程中忽略状态更新。默认值为 false

--synchronous_mode-sync

如果此标志设置为 true,系统会等待命令完成后再返回,并使用作业完成状态作为错误代码。如果此标志设置为 false,系统会创建作业,并使用成功完成状态作为错误代码。默认值为 true

--trace

此标志表示以 token:token 形式指定、要包括在 API 请求中的跟踪令牌。

特定于命令的标志

您可以在 bq 命令行工具中使用以下命令标志。

bq cancel

cancel 命令用于取消作业。cancel 命令没有特定于命令的标志。

如需详细了解如何使用 cancel 命令,请参阅管理作业

cancel 命令使用如下全局标志。

--job_id
此标志表示用于取消请求的唯一作业 ID。您可以在不使用 --job_id 标志的情况下指定任务 ID,例如:bq cancel [JOB_ID]
--synchronous_mode--sync
如果指定了此标志,系统会等待命令完成后再返回。如果此标志设置为 false,命令会立即返回。默认值为 true

bq cp

cp 命令用于复制表。cp 命令使用以下特定于命令的标志。

如需详细了解如何使用 cp 命令,请参阅管理表

--append_table-a
指定此标志时,系统会复制一个表,并将其附加到一个现有表。默认值为 false
--destination_kms_key
此标志表示用于加密目标表数据的 Cloud KMS 密钥。
--force-f
指定此标志时,如果目标表已存在,系统会覆盖此表并且不会给出提示。默认值为 false
--no_clobber-n
指定此标志时,如果目标表已存在,系统不会覆盖此表。默认值为 false

bq extract 命令

extract 命令用于将表数据导出至 Cloud Storage。

如需详细了解如何使用 extract 命令,请参阅导出表数据

extract 命令使用以下特定于命令的标志。

--compression
此标志表示用于导出的文件的压缩类型。可能的值包括 GZIP(仅限 CSV 和 JSON)、DEFLATE(仅限 Avro)、SNAPPY(仅限 Avro)和 NONE。默认值为 NONE
--destination_format

此标志表示导出数据的格式设置。可能的值包括:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO

默认值为 CSV

--field_delimiter-F

此标志代表指明 CSV 导出的输出文件中各列之间边界的字符。可以使用 \ttab 作为制表符分隔符。

--print_header

如果指定了此标志,并且格式设置中带有标题,则系统会打印标题行。默认值为 true

bq head 命令

head 命令显示表中的行。

如需详细了解如何使用 head 命令,请参阅管理表数据

head 命令使用以下特定于命令的标志。

--job-j
如果指定了此标志并且提供有效的任务 ID,则会读取查询作业的结果。默认值为 false
--max_rows-n
此标志代表一个整数,指定了在显示表数据时要打印的行数。默认值为 100
--selected_fields-c
此标志表示英文逗号分隔列表,指定了在显示表数据时要返回的字段子集(包括嵌套字段和重复字段)。如果未指定此标志,则检索所有列。
--start_row-s
此标志代表一个整数,指定了显示表数据之前要跳过的行数。默认值是 0(从第一行开始)。
--table-t
指定此标志并附带表 ID 即可从表中读取行。默认值为 false

bq insert 命令

insert 命令允许您使用信息流缓冲区,插入以换行符分隔的 JSON 格式数据行。数据类型将被转换以匹配目标表的列类型。此命令仅用于测试目的。如需将数据流式传输到 BigQuery 中,请使用 insertAll API 方法。

如需了解详情,请参阅将数据流式传输到 BigQuery 中

insert 命令使用以下特定于命令的标志。

--ignore_unknown_values-i
指定此标志时,系统会忽略未出现在表架构中的行内的所有值。
--skip_invalid_rows-s
指定此标志时,系统会尝试插入所有有效行,即便出现无效行时也是如此。
--template_suffix-x
指定此标志时,系统会将目标表视为基本模板,并将行插入到名为 {destination}{templateSuffix} 的实例表中。BigQuery 会设法使用基本模板的架构创建实例表。

bq load 命令

load 命令将数据加载到表中。

如需详细了解如何使用 load 命令从 Cloud Storage 加载数据,请参阅:

如需详细了解如何使用 load 命令从本地源加载数据,请参阅将本地数据源中的数据加载到 BigQuery

load 命令使用以下特定于命令的标志。

--allow_jagged_rows
指定此标志时,系统允许 CSV 数据末尾缺少可选列。
--allow_quoted_newlines
指定此标志时,系统允许 CSV 数据中引号括起来的内容中包含换行符。
--autodetect
指定此标志时,系统会为 CSV 和 JSON 数据启用架构自动检测。
--clustering_fields
此标志表示英文逗号分隔的列名称(最多 4 个)列表。
--destination_kms_key
此标志表示用于加密目标表数据的 Cloud KMS 密钥。
--encoding-E
数据中使用的字符编码。可能的值包括:
  • ISO-8859-1(也称为 Latin-1)
  • UTF-8
--field_delimiter-F
此标志代表的是指明数据中各列之间边界的字符。可以使用 \ttab 作为制表符分隔符。
--ignore_unknown_values
指定此标志时,对于 CSV 和 JSON 文件,将忽略具有与表架构不匹配的额外列值的行,并且不会加载这些行。同样,对于 Avro、Parquet 和 ORC 文件,表架构中不存在的文件架构字段将会被忽略,并且不会加载。
--max_bad_records
此标志表示一个整数,指定了作业中允许的最大错误记录数量,超过此数量之后,整个作业就会失败。默认值为 0。无论 --max_bad_records 值是多少,任意类型的错误最多返回 5 个。
--null_marker
此标志表示一个可选的自定义字符串,该字符串代表 CSV 数据中的一个 NULL 值。
--projection_fields
如果将此标志与设置为 DATASTORE_BACKUP--source_format 配合使用,则表示要以英文逗号分隔列表形式从 Datastore 导出文件中加载哪些实体属性。属性名称区分大小写,且必须是顶级属性。默认值为 ''。此标志也可与 Firestore 导出文件一起使用。
--quote
此标志表示用于括起记录的引号字符。默认值为 "。如需表示无引号字符,请使用空字符串。
--replace
指定此标志时,系统会在加载新数据时清空现有数据和架构。除非您指定 --destination_kms_key 标志,否则所有 Cloud KMS 密钥也会被移除。默认值为 false
--schema
此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为 field:data_type, field:data_type
--schema_update_option

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

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

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

--skip_leading_rows

此标志表示一个整数,指定了在源文件开头处要跳过的行数。

--source_format

此标志表示源数据的格式。可能的值包括:

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

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

--time_partitioning_field

该标志表示用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。

--time_partitioning_type

:此标志会在表上启用基于时间的分区,并设置分区类型。可能的值包括 DAYHOUR

--use_avro_logical_types

:如果 sourceFormat 设置为 AVRO,此标志表示是否将逻辑类型转换为对应的类型(如 TIMESTAMP),而不是仅使用其原始类型(如 INTEGER)。

bq ls 命令

ls 命令会列出一个集合中的对象。

如需详细了解如何使用 ls 命令,请参阅:

ls 命令使用以下特定于命令的标志。

--all-a
指定此标志时,系统会显示所有结果:来自所有用户或所有数据集(包括隐藏的数据集)的作业。在列出传输配置或传输运行时,不需要使用此标志。
--capacity_commitment
指定此标志时,系统会列出容量承诺。默认值为 false
--datasets-d
指定此标志时,系统会列出数据集。默认值为 false
--filter
此标志用于列出匹配过滤条件表达式的数据集。请使用以空格分隔的标签键和值列表,格式为 labels.key:value。 对于传输配置,格式为 dataSourceIds:data_sources 的过滤条件表达式会列出特定数据源的传输配置。可能的值包括:
  • dcm_dt:Campaign Manager
  • 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
  • doubleclick_search:Search Ads 360
  • youtube_channel:YouTube 频道报告
  • youtube_content_owner:YouTube 内容所有者报告

此外,对于转移运行,形式为 states:state 的过滤条件表达式会列出具有特定状态的转移运行。可能的值包括:

  • SUCCEEDED
  • FAILED
  • PENDING
  • RUNNING
  • CANCELLED
--jobs-j
指定此标志时,系统会列出作业。默认值为 false。默认情况下,结果数上限为 10 万个。
--max_creation_time
此标志是一个整数,表示时间戳(以毫秒为单位)。与 -j 标志一同指定时,此标志会列出在时间戳之前创建的作业。
--max_results-n
此标志表示一个整数,用于指明最大结果数。默认值为 50。
--min_creation_time
此标志是一个整数,表示时间戳(以毫秒为单位)。与 -j 标志一同指定时,此标志列出在时间戳之后创建的作业。
--message_type

此标志以 messageTypes:message_type 的形式指定,用于列出特定类型的转移运行日志消息。可能的值包括:

  • INFO
  • WARNING
  • ERROR
--models-m

指定此标志时,系统会列出 BigQuery 机器学习模型。

--page_token-k

指定此标志时,系统会列出从此页面标记开始的项。

--projects-p

指定此标志时,系统会显示所有项目。默认值为 false

--reservation

指定此标志时,系统会列出给定项目和位置的所有预留。默认值为 false

--reservation_assignment

指定此标志时,系统会列出给定项目和位置的所有预留分配。默认值为 false

--run_attempt

如果将此标志设置为 LATEST,系统仅会列出一次转移的最新运行。

--transfer_config

指定此标志时,系统会列出转移配置。使用此标志时,您必须同时指定 --transfer_location。默认值为 false

--transfer_location

此标志会列出指定位置的转移配置。您要在创建传输时设置传输位置。

--transfer_log

指定此标志时,系统会列出指定转移运行的转移日志消息。默认值为 false

--transfer_run

指定此标志时,系统会列出转移运行。默认值为 false

bq mk 命令

mk 命令会创建各种 BigQuery 资源,包括数据集、表、视图、具体化视图和转移作业配置。

mk 命令接受一个类型标志,用于指定要创建的资源类型以及依赖于资源类型的其他标志。

bq mk TYPE_FLAG [ OTHER FLAGS ] [ ARGS ]

其中 TYPE_FLAG 可为以下项之一:

除了下面列出的特定于命令的标志之外,bq mk 还支持以下标志:

--force-f
如果已存在同名资源,则忽略错误。指定此标志时,如果资源已存在,则退出代码为 0。此标志不会导致 mk 命令覆盖资源。默认值为 false

bq mk --capacity_commitment

购买容量承诺。如需了解详情,请参阅处理承诺。支持以下标记:

--location
项目的位置。
--plan
计划类型。以下各项中的一项:FLEXMONTHLYANNUAL
--project_id
将管理这些槽的项目的 ID。
--slots
是要购买的槽数。

bq mk --数据集

创建数据集。 如需了解详情,请参阅创建数据集。支持以下标记:

--data_location
(旧版)此标志指定数据集的位置。应改为使用 --location 全局标志。
--default_kms_key
此标志表示在创建或查询表期间未明确提供密钥的情况下,用于加密数据集中的表数据的 Cloud KMS 密钥。
--default_partition_expiration
此标志表示一个整数,用于指定数据集中新创建的分区表中所有分区的默认到期时间(以秒为单位)。分区的到期时间设置为分区的世界协调时间 (UTC) 日期加上这个整数值。如果设置了该属性,则该属性将替换数据集级层的默认表到期时间(如果存在)。如果在创建或更新分区表时提供 --time_partitioning_expiration 标志,则表级分区到期时间优先于数据集级默认分区到期时间。
--default_table_expiration
此标志代表一个整数,用于指定数据集中新创建的表的默认生命周期(以秒为单位)。到期时间设置为当前世界协调时间 (UTC) 加上此值。
--description
数据集的说明。
--label
数据集的标签。格式为 key:value。 重复使用此标志可以指定多个标签。

bq mk --materialized_view

创建具体化视图。支持以下标记:

--enable_refresh
此标志表示是否为具体化视图启用自动刷新。创建具体化视图时,默认值为 true
--refresh_interval_ms
此标志表示具体化视图的刷新间隔时间(以毫秒为单位)。如果未指定此标志,则启用了刷新功能的具体化视图的刷新间隔时间为 180 万毫秒,即 30 分钟。

如需了解详情,请参阅创建和使用具体化视图

bq mk --预订

使用专用槽创建预留。如需了解详情,请参阅处理预留。支持以下标记:

--location
项目的位置。
--project_id
拥有预留的项目的项目 ID。
--slots
要分配给此预留的槽数。
--use_idle_slots
如果为 true,则在此预留中运行的作业可以使用其他预留中的空闲槽和未分配给预留的槽。默认值为 true。如需了解详情,请参阅空闲槽

bq mk --reservation_assignment

将项目、文件夹或组织分配到预留。如需了解详情,请参阅处理分配。 支持以下标记:

--assignee_id
文件夹、组织或项目的 ID。
--assignee_type
要分配给预留的实体类型。以下各项中的一项:FOLDERORGANIZATIONPROJECT
--job_type
要分配给预留的作业类型。以下各项中的一项:QUERYPIPELINEML_EXTERNAL
--location
项目的位置。
--project_id
拥有预留的项目的项目 ID。
reservation_id
预留的 ID。.

bq mk --表

创建一个表。如需了解详情,请参阅创建和使用表。支持以下标记:

--clustering_fields
此标志表示为表划分聚簇的列名称的英文逗号分隔列表。指定此标志时,系统使用所提供的列对表进行聚簇。如果与分区一起指定,系统首先会对表进行分区,然后使用所提供的列对每一个分区进行聚簇。
--description
表的说明。
--destination_kms_key
此标志表示用于加密表数据的 Cloud KMS 密钥。
--expiration
表示一个整数,用于指定表的到期时间。到期时间设置为当前世界协调时间 (UTC) 加上此值。
--external_table_definition
此标志指定用于创建外部表的表定义。其值可以是内嵌表定义,也可以是包含 JSON 表定义的文件的路径。内嵌定义的格式是 schema@format=uri
--label
此标志代表要在表上设置的一个标签。格式为 key:value。 重复使用此标志可以指定多个标签。
--range_partitioning

将整数范围分区的选项指定为 column_name,start,end,interval 形式的逗号分隔列表,其中

  • column_name 是用于创建整数范围分区的列。
  • start 是范围分区的起始值(含边界值)
  • end 是范围分区的终止值(不含边界值)
  • interval 是分区中每个范围的宽度
--require_partition_filter

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

--schema

此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为 field:data_type,field:data_type。默认值为 ''

--time_partitioning_expiration

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

--time_partitioning_field

该标志表示用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。

--time_partitioning_type

:此标志会在表上启用基于时间的分区,并设置分区类型。可能的值包括 DAYHOUR

bq mk --transfer_config

创建转移配置。支持以下标记:

--data_source
指定数据源。创建转移配置时必须提供。可能的值包括:
  • dcm_dt:Campaign Manager
  • 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
  • doubleclick_search:Search Ads 360
  • youtube_channel:YouTube 频道报告
  • youtube_content_owner:YouTube 内容所有者报告

默认值为 ''

--display_name
此标志表示转移配置的显示名称。默认值为 ''
--params-p
转移配置的参数,以 JSON 格式表示: {"parameter":"value"}。根据数据源的不同,参数也会有所不同。如需了解详情,请参阅 BigQuery Data Transfer Service 简介
--refresh_window_days
用于指定转移配置的刷新时段的一个整数(以天为单位)。默认值为 0
--target_dataset
。转移作业配置的目标数据集。默认值为 ''

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

bq mk --transfer_run

创建转移作业运行。支持以下标记:

--start_time
此标志表示一个时间戳,用于指定一系列转移作业运行的开始时间。时间戳的格式为 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)。
--end_time
此标志表示一个时间戳,用于指定某个转移作业运行范围的结束时间。时间戳的格式为 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)。

bq mk --视图

创建视图。如需了解详情,请参阅创建视图。支持以下标记:

--description
视图的说明。
--expiration
此标志表示一个整数,用于指定视图的到期时间。到期时间设置为当前世界协调时间 (UTC) 加上此值。
--label
此标志表示在视图上设置的标签。格式为 key:value。 重复使用此标志可以指定多个标签。
--use_legacy_sql
如果将
设置为 false,系统会使用标准 SQL 查询创建视图。默认值为 true(使用旧版 SQL)。
--view_udf_resource
此标志是一个本地代码文件的 Cloud Storage URI 或路径,该代码文件会被立即加载为用户指定函数资源并评估,以供视图的 SQL 查询使用。重复使用此标志可以指定多个文件。

bq mkdef 命令

mkdef 命令为 Cloud Storage 或 Google 云端硬盘中存储的数据创建 JSON 格式的表定义。

如需详细了解如何使用 mkdef 命令,请参阅为外部数据源创建表定义文件

mkdef 命令使用以下特定于命令的标志。

--autodetect
指定此标志时,系统会为 CSV 和 JSON 数据使用架构自动检测。
--ignore_unknown_values-i
指定此标志时,系统会忽略未出现在架构中的行内的所有值。
--source_format
此标志表示源数据的格式。可能的值包括:
  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • GOOGLE_SHEETS 默认值为 CSV

bq partition 命令

partition 命令用于将以日期命名的表(以 YYYYMMDD 结尾)转换为分区表。

如需详细了解如何使用 partition 命令,请参阅将日期分片表转换为提取时间分区表

partition 命令使用以下特定于命令的标志。

--no_clobber-n
指定此标志时,系统不会覆盖现有分区。默认值为 false
--time_partitioning_expiration
此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。
--time_partitioning_type
指定分区类型。可能的值包括 DAYHOUR

bq query 命令

query 命令会创建一个运行所提供的 SQL 查询的查询作业。

如需详细了解如何使用 query 命令,请参阅运行交互式查询和批量查询

query 命令使用以下特定于命令的标志。

--allow_large_results
指定此标志时,系统会为旧版 SQL 查询启用较大的目标表大小。
--append_table
指定此标志时,系统会将数据附加到目标表。默认值为 false
--batch
指定此标志时,系统会以批量模式运行查询。默认值为 false
--clustering_fields
如果指定此标志,系统会使用以英文逗号分隔列的列表为查询中的目标表划分聚簇。指定此标志时,系统使用所提供的列对表进行聚簇。如果与分区一起指定,系统首先会对表进行分区,然后使用所提供的列对每一个分区进行聚簇。
--destination_kms_key
此标志表示用于加密目标表数据的 Cloud KMS 密钥。
--destination_schema
此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为 field:data_type,field:data_type。默认值为 ''
--destination_table
此标志表示用于写入查询结果的目标表的名称。默认值为 ''
--dry_run
指定此标志时,系统会对查询进行验证,但不会运行查询。
--external_table_definition
此标志表示在外部表查询中使用的表名称和架构定义。架构可以是本地 JSON 架构文件的路径,也可以是一个以英文逗号分隔列表表示的列定义的路径,格式为 field:data_type,field:data_type。提供表名称和架构时使用的格式为:table::path_to_filetable::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
--schedule
此标志将查询设置为周期性计划查询。需要有关查询运行频率的计划。示例:
  • --schedule='every 24 hours'
  • --schedule='every 3 hours'
--schema_update_option

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

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

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

--start_row-s

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

--target_dataset

--schedule 一起指定时,此标志会更新计划查询的目标数据集。查询必须是 DDL 或 DML。

--time_partitioning_expiration

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

--time_partitioning_field

该标志表示用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。

--time_partitioning_type

destination_table 标志一起使用时,指定目标表的分区类型。可能的值包括 DAYHOUR

--udf_resource

此标志仅适用于旧版 SQL 查询。指定此标志时,此标志是一个 Cloud Storage URI 资源标识符或者本地代码文件路径,该资源或代码文件会被立即加载并评估,作为用户定义函数资源,供旧版 SQL 查询使用。重复使用此标志可以指定多个文件。

--use_cache

如果指定了此标志,系统会缓存查询结果。默认值为 true

--use_legacy_sql

如果将此标志设置为 false,系统会运行标准 SQL 查询。默认值为 true(使用旧版 SQL)。

bq rm 命令

rm 命令会删除容量承诺、数据集、模型、预留、预留分配、表、转移作业配置或视图。

如需详细了解如何使用 rm 命令,请参阅:

rm 命令使用以下特定于命令的标志。

--capacity_commitment
指定此标志时,系统会删除容量承诺。默认值为 false
--dataset-d
指定此标志时,系统会删除数据集。默认值为 false
--force-f
指定此标志时,系统会删除表、视图、模型或数据集,而且不显示任何提示。默认值为 false
--model-m
指定此标志时,系统会删除 BigQuery 机器学习模型。
--recursive-r
指定此标志时,系统会删除数据集及其中的所有表、表数据或模型。默认值为 false
--reservation
指定此标志时,系统会删除预留。默认值为 false
--reservation_assignment
指定此标志时,系统会删除预留分配。默认值为 false
--table-t
指定此标志时,系统会删除表。默认值为 false
--transfer_config
指定此标志时,系统会删除转移配置。默认值为 false

bq show 命令

show 命令会显示有关一个对象的信息。

如需详细了解如何使用 show 命令,请参阅:

show 命令使用以下特定于命令的标志。

--assignee_id
reservation_assignment 标志搭配使用时,请指定文件夹、组织或项目的 ID。使用 --assignee_type 标志指定要显示的受让方类型。
--assignee_type
reservation_assignment 标志搭配使用时,指定要显示的受让方类型。以下各项中的一项:FOLDERORGANIZATIONPROJECT
--reservation
指定此标志时,系统会显示有关预留的信息。默认值为 false
--dataset-d
指定此标志时,系统会显示有关数据集的信息。默认值为 false
--encryption_service_account
指定此标志时,系统会显示用户的服务帐号(如果存在),如果不存在此服务帐号,则系统会创建一个。默认值为 false
--job-j
指定此标志时,系统会显示有关作业的信息。默认值为 false
--job_type
reservation_assignment 标志一起使用时,指定要显示的作业预留分配类型。以下各项中的一项:QUERYPIPELINEML_EXTERNAL
--model-m
指定此标志时,系统会显示有关 BigQuery 机器学习模型的信息。
--reservation
指定此标志时,系统会显示有关预留的信息。默认值为 false
--reservation_assignment
指定此标志时,则系统会显示指定文件夹、组织或项目的预留分配信息。如果目标资源具有任何明确分配,则会显示这些分配。否则,该命令会显示从父资源继承的所有分配。例如,项目可能会继承其父级文件夹中的分配。使用此标志时,系统会应用 --job_type--assignee_type--assignee_id 标志。
--schema
指定此标志时,系统仅显示表的架构。默认值为 false
--transfer_config
指定此标志时,系统会显示有关转移配置的信息。默认值为 false
--transfer_run
指定此标志时,系统会显示有关转移运行的信息。默认值为 false
--view
指定此标志时,系统会显示有关视图的信息。默认值为 false

bq update 命令

update 命令可更新容量承诺、数据集、模型、预留、预留分配、表、转移作业配置或视图。

如需详细了解如何使用 update 命令,请参阅:

update 命令使用以下特定于命令的标志。

--capacity_commitment
此标志指定时,系统会更新容量承诺。默认值为 false。此标志与 --merge--plan--renewal_plan--split--slots 标志一起使用。
--clear_label
此标志移除一个使用 key: 的格式标签。重复使用该标志可移除多个标签。
--dataset-d
此标志会更新数据集。默认值为 false
--default_kms_key
此标志会更新数据集,或设置用于加密数据集中的表数据的 Cloud KMS 密钥(如果在创建或查询表期间未明确提供密钥)。
--default_partition_expiration

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

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

--default_table_expiration

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

--description

此标志会更新数据集、表、模型或视图的说明。

--destination_reservation_id

--reservation_assignment 标志一起使用时,将现有预留分配转移至指定的预留。该值是目标预留的 ID。如需了解详情,请参阅将分配转移到其他预留

--display_name

此标志用于更新传输配置的显示名称。默认值为 ''

--etag

此标志仅在 etag 匹配的情况下更新资源。

--expiration

此标志代表一个整数,用于更新表、视图或模型的到期时间(以秒为单位)。如果指定 0,系统会移除到期时间。

--external_table_definition

此标志使用指定的表定义更新外部表。架构可以是本地 JSON 架构文件的路径,也可以是一个以英文逗号分隔列表表示的列定义的路径,格式为 field:data_type,field:data_type。提供表名称和架构时使用的格式为:table::path_to_filetable::schema@source_format=cloud_storage_uri

--merge

--capacity_commitment 标志结合使用时,合并两个容量承诺。默认值为 false。如需了解详情,请参阅合并两个承诺

--model-m

此标志会更新 BigQuery 机器学习模型的元数据。

--params-p

此标志用于更新传输配置的参数,以 JSON 格式表示:{"parameter":"value"}。根据数据源的不同,参数也会有所不同。如需了解详情,请参阅 BigQuery Data Transfer Service 简介

--plan

--capacity_commitment 标志一起使用时,系统会将容量承诺转换为更长的承诺方案。以下各项中的一项:FLEXMONTHLYANNUAL。默认值为 ''

--refresh_window_days

此标志代表一个整数,用于指定某个转移配置的更新的刷新时段(以天为单位)。

--renewal_plan

--capacity_commitment 标志搭配使用时,为现有容量承诺指定续订方案。以下各项中的一项:FLEXMONTHLYANNUAL。默认值为 ''

--reservation

指定此标志时,系统会更新预留。默认值为 false

--reservation_assignment

指定此标志时,系统会更新预留分配。默认值为 false

--schema

此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为 field:data_type,field:data_type。默认值为 ''

--set_label

此标志表示要更新的标签,格式为 key:value。重复使用该标志可更新多个标签。

--slots

--capacity_commitment--split 标志一起使用时,指定要从现有容量承诺拆分为新承诺的槽数。与 --reservation 标志一起使用时,更新预留中的槽数。

--source

此标志表示包含更新资源时所用载荷的本地 JSON 文件的路径。例如,您可以使用此标志指定一个 JSON 文件,其中包含带有更新的 access 属性的数据集资源。该文件用于覆盖数据集的访问权限控制。

--split

--capacity_commitment 标志一起使用时,拆分现有容量承诺。默认值为 false。如需了解详情,请参阅拆分承诺

--table-t

指定此标志时,系统会更新表。默认值为 false

--target_dataset

指定此标志时,系统会更新一个转移配置的目标数据集。默认值为 ''

--time_partitioning_expiration

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

--time_partitioning_field

使用此标志时,系统会更新用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。

--time_partitioning_type

指定分区类型。可能的值包括 DAYHOUR。现有表的分区类型无法更改。

--transfer_config

指定此标志时,系统会更新转移配置。默认值为 false

--update_credentials

指定此标志时,系统会更新转移配置凭据。默认值为 false

--use_idle_slots

--reservation 标志结合使用。如果为 true,则在此预留中运行的作业可以使用其他预留中的空闲槽和未分配给预留的槽。默认值为 true。如需了解详情,请参阅空闲槽

--use_legacy_sql

将此标志设置为 false 时,系统会将视图的 SQL 查询从旧版 SQL 更新为标准 SQL。默认值为 true(使用旧版 SQL)。

--view

指定此标志时,系统会更新视图的 SQL 查询。默认值为 ''

--view_udf_resource

使用此标志时,系统会更新本地代码文件的 Cloud Storage URI 或路径,该代码文件会被立即加载为用户指定函数资源并评估,以供视图的 SQL 查询使用。重复使用此标志可以指定多个文件。

bq wait 命令

wait 命令会等待特定秒数,以便作业完成。

wait 命令使用 --job_id 全局标志和以下特定于命令的标志。

integer
一个大于等于 0 的整数,指定了等待时间(此值并非标志 - 您应在命令行中指定该整数)。如果输入了 0,该命令会轮询作业完成情况,并立即返回。如果您没有指定整数值,该命令会始终等待。
--fail_on_error
指定此标志时,经过等待时间后,如果作业仍在运行,则系统会退出并返回一条错误,如果作业失败则终止。默认值为 true
--wait_for_status

指定此标志时,系统会等待出现特定作业状态之后再退出。可能的值包括:

  • PENDING
  • RUNNING
  • DONE

默认值为 DONE