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) – 點分隔的 <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 所需的帳戶鏈結清單,該帳戶將在請求中被模擬身分。如果設定為字串,則該帳戶必須授予原始帳戶「服務帳戶權杖建立者」IAM 角色。如果設定為序列,則清單中的身分必須將「服務帳戶權杖建立者」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。

此條目是否有幫助?