如何使用 bq 命令调度 BigQuery 数据传输服务



我正在尝试使用 BigQuery 创建数据传输服务。我使用 bq 命令来创建 DTS,

  1. 我能够成功创建DTS
  2. 我需要使用 bq 命令指定调度的自定义时间

是否可以在创建数据传输服务时安排自定义时间。参考示例 bq 命令

bq mk --transfer_config 
--project_id='My project' 
--target_dataset='My Dataset' 
--display_name='test_bqdts' 
--params='{"data_path":<data_path>,
"destination_table_name_template":<destination_table_name>,
"file_format":<>,
"ignore_unknown_values":"true",
"access_key_id": "access_key_id",
"secret_access_key": "secret_access_key"
}' 
--data_source=data_source_id

注意:使用命令行工具创建 Amazon S3 传输时,将使用计划的默认值(每 24 小时(设置传输配置。

您可以使用标志--schedule,如下所示

选项 2:使用 bq mk 命令。

计划查询是一种传输。要计划查询,您可以 使用 BigQuery 数据传输服务 CLI 进行传输 配置。

查询必须使用标准 SQL 方言才能计划。

输入 bq mk 命令并提供传输创建标志 --transfer_config。还需要以下标志:

-
  • -data_source
  • -
  • -target_dataset(对于 DDL/DML 查询是可选的。
  • -
  • -display_name
  • -
  • -参数

可选标志:

-
  • -project_id是您的项目 ID。如果未指定 --project_id,则使用默认项目。

  • -
  • -schedule 是您希望查询运行的频率。如果未指定 --schedule,则根据创建,默认值为"每 24 小时" 时间。

  • 对于 DDL/DML 查询,您还可以提供 --location 标志来指定要处理的特定区域。如果 --位置不是 指定,则使用全局 Google Cloud 位置。

  • -
  • -service_account_name 用于使用服务帐户而不是个人用户帐户对计划查询进行身份验证。注意: 将服务帐户与计划查询结合使用处于测试阶段。 bq mk \ --transfer_config \--project_id=project_id \--target_dataset=数据集 \--display_name=名称 \--params='parameters' \





    --data_source=data_source


例如,如果要设置 24 小时计划,则应使用 --schedule='every 24 hours'您可以在此处找到时间语法的完整参考

我希望它有所帮助

最新更新