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)[source]

Bases: airflow.providers.google.version_compat.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 的链式账号列表,最后一个账号将在请求中被模拟。如果以字符串形式提供,则该账号必须授予发起账号 “Service Account Token Creator” IAM 角色。如果以序列形式提供,列表中的身份必须向其前置身份授予 “Service Account Token Creator” 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,则算子将在作业 ID 后使用 UUID 的哈希作为后缀。

  • reattach_states (set[str] | None) – 在以下 BigQuery 作业状态下应重新附加到作业的集合。应当排除最终状态。

  • deferrable (bool) – 在可延迟模式下运行算子

返回:

Google Cloud Storage 中创建的对象的 URI

template_fields: collections.abc.Sequence[str] = ('source_project_dataset_table', 'destination_cloud_storage_uris', 'export_format', 'labels',...[source]
template_ext: collections.abc.Sequence[str] = ()[source]
ui_color = '#e4e6f0'[source]
project_id = None[source]
source_project_dataset_table[source]
destination_cloud_storage_uris[source]
compression = 'NONE'[source]
export_format = 'CSV'[source]
field_delimiter = ','[source]
print_header = True[source]
gcp_conn_id = 'google_cloud_default'[source]
labels = None[source]
location = None[source]
impersonation_chain = None[source]
result_retry[source]
result_timeout = None[source]
job_id = None[source]
force_rerun = False[source]
reattach_states: set[str][source]
hook: airflow.providers.google.cloud.hooks.bigquery.BigQueryHook | None = None[source]
deferrable[source]
execute(context)[source]

在创建算子时派生。

执行任务的主要方法。Context 是与渲染 jinja 模板时使用的相同字典。

有关更多上下文,请参考 get_template_context。

execute_complete(context, event)[source]

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

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

get_openlineage_facets_on_complete(task_instance)[source]

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

此条目是否有帮助?