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)[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]
selected_fields = None[source]
gcp_conn_id = 'google_cloud_default'[source]
database = None[source]
target_table_name[source]
replace = False[source]
batch_size = 1000[source]
location = None[source]
impersonation_chain = None[source]
dataset_id = None[source]
table_id = None[source]
abstract get_sql_hook()[source]

返回一個具體的 SQL Hook(例如 PostgresHook)。

持久化與 SQL provider 的連線。

execute(context)[source]

建立運算子時派生。

Context 是用於渲染 Jinja 模板的同一個字典。

請參考 get_template_context 獲取更多上下文資訊。

此條目有幫助嗎?