- Large datasets (millions/billions of rows)
- Computationally expensive transformations
- Time-series data with frequent updates
Basic Configuration
While these examples use Snowflake syntax, the core concepts apply to most data warehouses. Specific syntax and available features may vary by platform.
- Materialization Config: Set
materialized='incremental'in your config block - Unique Key: Define what makes each row unique (single column or multiple columns)
- Incremental Logic: Use the
is_incremental()macro to filter for new/changed records
Incremental Strategies
dbt™ supports several strategies for incremental models, each with specific use cases:
For detailed examples and configuration options for each strategy, see their dedicated pages.
Advanced Features
1. Schema Change Management Handle column additions or removals with theon_schema_change parameter:
sync_all_columns: Automatically adapts to column changes (recommended)fail: Halts execution when schema changes (useful during development)ignore: Maintains existing schema (use cautiously)append_new_columns: Adds new columns without removing old ones
- Limits the scan of existing data
- Improves merge performance
- Works with clustering for better query optimization