airflow.providers.google.cloud.transfers.bigquery_to_sql

用于 BigQuery 到 SQL 操作符的基本操作符。

模块内容

BigQueryToSqlBaseOperator

从 BigQuery 表中获取数据(或者获取选定的列)并将其插入到 SQL 表中。

class airflow.providers.google.cloud.transfers.bigquery_to_sql.BigQueryToSqlBaseOperator(*, dataset_table, target_table_name, selected_fields=None, gcp_conn_id='google_cloud_default', database=None, replace=False, batch_size=1000, location=None, impersonation_chain=None, dataset_id=None, table_id=None, **kwargs)[源代码]

基类:airflow.models.BaseOperator

从 BigQuery 表中获取数据(或者获取选定的列)并将其插入到 SQL 表中。

这是一个基本操作符;一个抽象类。请参考与特定 SQL 数据库(MySQL、MsSQL、Postgres...)相关的子类。

注意

如果您传递给 selected_fields 的字段的顺序与 BQ 表中已有的列的顺序不同,则数据仍将按照 BQ 表的顺序排列。例如,如果 BQ 表有 3 列,分别为 [A,B,C],并且您在 selected_fields 中传递 ‘B,A’,则数据仍然是 'A,B' 的形式,并以这种形式传递到 SQL 数据库。

参数
  • dataset_table (str) – 一个点分隔的 <数据集>.<表>:来源的 big query 表

  • target_table_name (str | None) – 目标 SQL 表

  • selected_fields (list[str] | str | None) – 要返回的字段列表(逗号分隔)。如果未指定,则返回所有字段。

  • gcp_conn_id (str) – 对特定 Google Cloud hook 的引用。

  • database (str | None) – 覆盖连接中定义的数据库名称

  • replace (bool) – 是否替换而不是插入

  • batch_size (int) – 每个批次中获取的行数

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

  • 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] = ('target_table_name', 'impersonation_chain', 'dataset_id', 'table_id')[源代码]
abstract get_sql_hook()[源代码]

返回一个具体的 SQL Hook(例如 PostgresHook)。

持久化与 SQL 提供程序的连接。

execute(context)[源代码]

在创建操作符时派生。

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

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

此条目是否有帮助?