airflow.providers.google.cloud.transfers.bigquery_to_bigquery

This module contains Google BigQuery to BigQuery operator.

Module Contents

Classes

BigQueryToBigQueryOperator

Copies data from one BigQuery table to another.

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', delegate_to=None, labels=None, encryption_configuration=None, location=None, impersonation_chain=None, **kwargs)[source]

Bases: airflow.models.BaseOperator

Copies data from one BigQuery table to another.

See also

For more details about these parameters: https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.copy

Parameters
  • source_project_dataset_tables (Union[List[str], str]) -- One or more dotted (project:|project.)<dataset>.<table> BigQuery tables to use as the source data. If <project> is not included, project will be the project defined in the connection json. Use a list if there are multiple source tables. (templated)

  • destination_project_dataset_table (str) -- The destination BigQuery table. Format is: (project:|project.)<dataset>.<table> (templated)

  • write_disposition (str) -- The write disposition if the table already exists.

  • create_disposition (str) -- The create disposition if the table doesn't exist.

  • gcp_conn_id (str) -- (Optional) The connection ID used to connect to Google Cloud.

  • delegate_to (Optional[str]) -- The account to impersonate using domain-wide delegation of authority, if any. For this to work, the service account making the request must have domain-wide delegation enabled.

  • labels (Optional[Dict]) -- a dictionary containing labels for the job/query, passed to BigQuery

  • encryption_configuration (Optional[Dict]) --

    [Optional] Custom encryption configuration (e.g., Cloud KMS keys). Example:

    encryption_configuration = {
        "kmsKeyName": "projects/testp/locations/us/keyRings/test-kr/cryptoKeys/test-key"
    }
    

  • location (Optional[str]) -- The location used for the operation.

  • impersonation_chain (Optional[Union[str, Sequence[str]]]) -- Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).

template_fields :Sequence[str] = ['source_project_dataset_tables', 'destination_project_dataset_table', 'labels', 'impersonation_chain'][source]
template_ext :Sequence[str] = ['.sql'][source]
ui_color = #e6f0e4[source]
execute(self, context)[source]

This is the main method to derive when creating an operator. Context is the same dictionary used as when rendering jinja templates.

Refer to get_template_context for more context.

Was this entry helpful?