← All Adapters
DuckDB logo

DUCKDB

type: duckdb
FREE FOR INDIVIDUALS✓ VERIFIED IN DVT TEST SUITE

In-process analytical database. DVT uses DuckDB internally for federation compute and as the extraction cache engine.

DVT SUPPORT

FEDERATION SOURCE

read in federation models

FEDERATION TARGET

materialize federation results

DEFAULT TARGET

run full dbt projects against it

SEED TARGET

dvt seed --target loads here

DVT supports DuckDBbecause both dbt and Sling do: dbt drives standard materializations when it's your default target, Sling moves data in and out during federation. Connectivity for both layers is checked with dvt debug --all.

PREREQUISITES

Driver: duckdb — installed automatically by:

dvt sync

CONFIGURATION FIELDS

FIELDTYPEREQUIREDDEFAULTDESCRIPTION
typestringyesMust be `duckdb`
pathstringno:memory:Database file path (or :memory: for in-memory)
threadsintegerno4Number of parallel threads

PROFILES.YML EXAMPLE

my_project:
  target: duckdb_dev
  outputs:
    duckdb_dev:
      type: duckdb
      path: ./analytics.duckdb

SOURCES.YML EXAMPLE

sources:
  - name: local_files
    meta:
      connection: duckdb_dev
    tables:
      - name: parquet_data

DBT ADAPTER FEATURES

When DuckDB is your default target, every standard dbt model runs through the official dbt adapter — all of its documented capabilities apply unchanged:

MATERIALIZATIONS

tableviewincrementalephemeralexternalf_tablef_incremental

INCREMENTAL STRATEGIES

appenddelete+insert

NOTABLE CONFIGS

  • external (Parquet/CSV) materializations
  • also DVT's federation compute engine
Official dbt DuckDB adapter docs ↗

FEDERATION INCREMENTAL STRATEGIES

Strategies available when this engine is the target of a f_incremental model:

Append Delete+Insert Merge

KNOWN LIMITATIONS

  • Single-user — file locks prevent concurrent access