astro.sql.operators.merge

Module Contents

Classes

MergeOperator

Merge the source table rows into a destination table.

Attributes

MERGE_COLUMN_TYPE

astro.sql.operators.merge.MERGE_COLUMN_TYPE
class astro.sql.operators.merge.MergeOperator(*, target_table, source_table, columns, if_conflicts, target_conflict_columns, task_id='', **kwargs)

Bases: airflow.models.baseoperator.BaseOperator

Merge the source table rows into a destination table.

Parameters
  • source_table (astro.sql.table.Table) – Contains the rows to be merged to the target_table (templated)

  • target_table (astro.sql.table.Table) – Contains the destination table in which the rows will be merged (templated)

  • columns (MERGE_COLUMN_TYPE) – List/Tuple of columns if name of source and target tables are same. If the column names in source and target tables are different pass a dictionary of source_table columns names to target_table columns names. Examples: ["sell", "list"] or {"s_sell": "t_sell", "s_list": "t_list"}

  • target_conflict_columns (List[str]) – List of cols where we expect to have a conflict while combining

  • if_conflicts (astro.constants.MergeConflictStrategy) – The strategy to be applied if there are conflicts.

  • task_id (str) –

  • kwargs (Any) –

template_fields = ['target_table', 'source_table']
execute(context)
Parameters

context (dict) –

Return type

astro.sql.table.Table