dbt-adapters1.14.8
Published
The set of adapter protocols and base functionality that supports integration with dbt-core
pip install dbt-adapters
Package Downloads
Authors
Project URLs
Requires Python
>=3.9.0
Adapters
There are two major adapter types: base and sql.
base
BaseAdapter
defines the base functionality an adapter is required to implement in order to function with dbt-core
.
There are several methods which have default implementations as well as methods that require the concrete adapter to implement them.
sql
SQLAdapter
inherits from BaseAdapter
, updates default implementations to work with SQL-based platforms,
and defines additional required methods to support those defaults.
Components
An adapter is composed of several components.
- connections
- dialect
- relation caching
- integration with
dbt-core
The first two are platform-specific and require significant implementation in a concrete adapter.
The last two are largely implemented in dbt-adapters
with minor adjustments in a concrete adapter.
Connections
This component is responsible for creating and managing connections to storage and compute.
Files
dbt/adapters/{base|sql}/connections.py
Dialect
This component is responsible for translating a request from dbt-core
into a specific set of actions on the platform.
Files
dbt/adapters/base/column.py
dbt/adapters/base/query_headers.py
dbt/adapters/base/relation.py
dbt/adapters/relation_configs/*
dbt/adapters/clients/jinja.py
dbt/include/global_project/*
Relation caching
This component is responsible for managing a local cache of relations, relation metadata, and dependencies between relations.
Files
dbt/adapters/cache.py
Integration with dbt-core
This component is responsible for managing the interface between dbt-core
and a concrete adapter.
Files
dbt/adapters/{base|sql}/impl.py
dbt/adapters/base/meta.py
dbt/adapters/base/plugin.py
dbt/adapters/capability.py
dbt/adapters/factory.py
dbt/adapters/protocol.py
dbt/adapters/contracts/*
dbt/adapters/events/*
dbt/adapters/exceptions/*