airflow.providers.google.cloud.transfers.bigquery_to_sql¶
BigQuery 到 SQL 操作符的基础操作符。
类¶
从 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)[source]¶
基类:
airflow.models.BaseOperator
从 BigQuery 表中获取数据(或者获取选定列),并将其插入到 SQL 表中。
这是一个 BaseOperator;一个抽象类。请参考与其相关的特定 SQL 数据库(MySQL、MsSQL、Postgres 等)的子类。
注意
如果您传递给
selected_fields
的字段顺序与 BQ 表中已有列的顺序不同,数据仍将以 BQ 表中的顺序返回。例如,如果 BQ 表有三列[A,B,C]
,而您在selected_fields
中传递 'B,A',数据仍将是'A,B'
的形式,并以此形式传递给 SQL 数据库。- 参数:
dataset_table (str) – 一个以点号分隔的
<dataset>.<table>
字符串:源 BigQuery 表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')[source]¶