airflow.providers.google.cloud.transfers.bigquery_to_bigquery

此模块包含 Google BigQuery 到 BigQuery 的算子。

BigQueryToBigQueryOperator

将数据从一个 BigQuery 表复制到另一个表。

模块内容

class airflow.providers.google.cloud.transfers.bigquery_to_bigquery.BigQueryToBigQueryOperator(*, source_project_dataset_tables, destination_project_dataset_table, write_disposition='WRITE_EMPTY', create_disposition='CREATE_IF_NEEDED', gcp_conn_id='google_cloud_default', labels=None, encryption_configuration=None, location=None, impersonation_chain=None, **kwargs)[source]

基类: airflow.models.BaseOperator

将数据从一个 BigQuery 表复制到另一个表。

另请参阅

有关如何使用此算子的更多信息,请查看指南:算子

另请参阅

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

参数:
  • source_project_dataset_tables (list[str] | str) – 一个或多个点分隔的 (project:|project.)<dataset>.<table> BigQuery 表,用作源数据。如果未包含 <project>,则项目将是连接 JSON 中定义的项目。如果有多个源表,请使用列表。(可模板化)

  • destination_project_dataset_table (str) – 目标 BigQuery 表。格式为:(project:|project.)<dataset>.<table>(可模板化)

  • write_disposition (str) – 如果表已存在时的写入处理方式。

  • create_disposition (str) – 如果表不存在时的创建处理方式。

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

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

  • encryption_configuration (dict | None) –

    [可选] 自定义加密配置(例如,Cloud KMS 密钥)。

    encryption_configuration = {
        "kmsKeyName": "projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key",
    }
    

  • location (str | None) – 作业的地理位置。如果运行作业的位置不在美国或欧盟多区域位置,或者位置在单一区域(例如 us-central1),则必须指定运行作业的位置。更多详细信息请查看:https://cloud.google.com/bigquery/docs/locations#specifying_your_location

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

template_fields: collections.abc.Sequence[str] = ('source_project_dataset_tables', 'destination_project_dataset_table', 'labels', 'impersonation_chain')[source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
ui_color = '#e6f0e4'[source]
source_project_dataset_tables[source]
destination_project_dataset_table[source]
write_disposition = 'WRITE_EMPTY'[source]
create_disposition = 'CREATE_IF_NEEDED'[source]
gcp_conn_id = 'google_cloud_default'[source]
labels = None[source]
encryption_configuration = None[source]
location = None[source]
impersonation_chain = None[source]
hook: airflow.providers.google.cloud.hooks.bigquery.BigQueryHook | None = None[source]
execute(context)[source]

创建算子时派生。

上下文与渲染 jinja 模板时使用的字典相同。

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

get_openlineage_facets_on_complete(task_instance)[source]

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

本条目有帮助吗?