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。

本條目有幫助嗎?