airflow.operators.generic_transfer

Module Contents

Classes

GenericTransfer

Moves data from a connection to another, assuming that they both

class airflow.operators.generic_transfer.GenericTransfer(*, sql, destination_table, source_conn_id, destination_conn_id, preoperator=None, insert_args=None, **kwargs)[source]

Bases: airflow.models.BaseOperator

Moves data from a connection to another, assuming that they both provide the required methods in their respective hooks. The source hook needs to expose a get_records method, and the destination a insert_rows method.

This is meant to be used on small-ish datasets that fit in memory.

Parameters
  • sql (str) -- SQL query to execute against the source database. (templated)

  • destination_table (str) -- target table. (templated)

  • source_conn_id (str) -- source connection

  • destination_conn_id (str) -- destination connection

  • preoperator (Optional[Union[str, List[str]]]) -- sql statement or list of statements to be executed prior to loading the data. (templated)

  • insert_args (Optional[dict]) -- extra params for insert_rows method.

template_fields :Sequence[str] = ['sql', 'destination_table', 'preoperator'][source]
template_ext :Sequence[str] = ['.sql', '.hql'][source]
template_fields_renderers[source]
ui_color = #b0f07c[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?