dbt-athena supports three incremental strategies for updating tables:
insert_overwrite (Default): Deletes overlapping partitions and inserts new records. This requires the partitioned_by configuration; otherwise, it falls back to append.append: Inserts new records without modifying existing data. Useful for logs or historical data where duplicates are acceptable.merge: Conditionally updates, deletes, or inserts rows. This strategy is only available for Iceberg tables and must be used with a unique_key.
{{ config(
materialized='incremental',
incremental_strategy='merge',
unique_key='id',
table_type='iceberg'
) }}