airflow.providers.google.cloud.transfers.bigquery_to_gcs

此模块包含 Google BigQuery 到 Google Cloud Storage 的操作符。

模块内容

BigQueryToGCSOperator

将 BigQuery 表传输到 Google Cloud Storage 存储桶。

class airflow.providers.google.cloud.transfers.bigquery_to_gcs.BigQueryToGCSOperator(*, source_project_dataset_table, destination_cloud_storage_uris, project_id=PROVIDE_PROJECT_ID, compression='NONE', export_format='CSV', field_delimiter=',', print_header=True, gcp_conn_id='google_cloud_default', labels=None, location=None, impersonation_chain=None, result_retry=DEFAULT_RETRY, result_timeout=None, job_id=None, force_rerun=False, reattach_states=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[源代码]

基类: airflow.models.BaseOperator

将 BigQuery 表传输到 Google Cloud Storage 存储桶。

另请参阅

有关如何使用此操作符的更多信息,请查看以下指南:操作符

另请参阅

有关这些参数的更多详细信息:https://cloud.google.com/bigquery/docs/reference/v2/jobs

参数
  • source_project_dataset_table (str) – 要用作源数据的点分隔 (<project>.|<project>:)<dataset>.<table> BigQuery 表。如果未包含 <project>,则项目将是连接 json 中定义的项目。(已模板化)

  • destination_cloud_storage_uris (list[str]) – 目标 Google Cloud Storage URI (例如 gs://some-bucket/some-file.txt)。 (已模板化) 遵循此处定义的约定:https://cloud.google.com/bigquery/exporting-data-from-bigquery#exportingmultiple

  • project_id (str) – 运行该作业的 Google Cloud 项目

  • compression (str) – 要使用的压缩类型。

  • export_format (str) – 要导出的文件格式。

  • field_delimiter (str) – 提取到 CSV 时使用的分隔符。

  • print_header (bool) – 是否为 CSV 文件提取打印标题。

  • gcp_conn_id (str) – (可选)用于连接到 Google Cloud 的连接 ID。

  • labels (dict | None) – 包含作业/查询标签的字典,传递给 BigQuery

  • location (str | None) – 用于操作的位置。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选服务帐户,用于使用短期凭据模拟,或获取列表中最后一个帐户的 access_token 所需的帐户链列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予原始帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予直接前面的身份,列表中的第一个帐户将此角色授予原始帐户 (已模板化)。

  • result_retry (google.api_core.retry.Retry) – 如何重试检索行的 result 调用

  • result_timeout (float | None) – 在使用 result_retry 之前等待 result 方法的秒数

  • job_id (str | None) – 作业的 ID。除非 force_rerun 为 True,否则它将带有作业配置的哈希值后缀。ID 必须仅包含字母 (a-z, A-Z)、数字 (0-9)、下划线 (_) 或破折号 (-)。最大长度为 1,024 个字符。如果未提供,则将生成 uuid。

  • force_rerun (bool) – 如果为 True,则操作符将使用 uuid 的哈希值作为作业 ID 后缀

  • reattach_states (set[str] | None) – 在这种情况下,我们应该重新附加到作业的一组 BigQuery 作业状态。应为非最终状态。

  • deferrable (bool) – 在可延迟模式下运行操作符

template_fields: collections.abc.Sequence[str] = ('source_project_dataset_table', 'destination_cloud_storage_uris', 'export_format', 'labels',...[源代码]
template_ext: collections.abc.Sequence[str] = ()[源代码]
ui_color = '#e4e6f0'[源代码]
execute(context)[源代码]

创建操作符时派生。

Context 与渲染 jinja 模板时使用的字典相同。

请参阅 get_template_context 以了解更多上下文。

execute_complete(context, event)[source]

立即返回,并依赖触发器抛出成功事件。触发器的回调函数。

依赖触发器抛出异常,否则认为执行成功。

get_openlineage_facets_on_complete(task_instance)[source]

实现 on_complete,因为我们将包含最终的 BQ 作业 ID。

此条目是否有帮助?