Настройка DuckDB
Некоторая основная функциональность может быть ограничена. Если вы заинтересованы в участии, ознакомьтесь с исходным кодом для каждого из перечисленных ниже репозиториев.
- Поддерживается: Community
- Авторы: Josh Wills (https://github.com/jwills)
- Репозиторий на GitHub: duckdb/dbt-duckdb
- Пакет на PyPI:
dbt-duckdb
- Канал в Slack: #db-duckdb
- Поддерживаемая версия dbt Core: v1.0.1 и новее
- Поддержка dbt Cloud: Not Supported
- Минимальная версия платформы данных: DuckDB 0.3.2
Установка dbt-duckdb
Используйте pip
для установки адаптера. До версии 1.8 установка адаптера автоматически устанавливала dbt-core
и любые дополнительные зависимости. Начиная с версии 1.8, установка адаптера не устанавливает автоматически dbt-core
. Это связано с тем, что адаптеры и версии dbt Core были разделены, и мы больше не хотим перезаписывать существующие установки dbt-core.
Используйте следующую команду для установки:
Конфигурация dbt-duckdb
Для конфигурации, специфичной для Duck DB, пожалуйста, обратитесь к конфигурациям Duck DB.
Подключение к DuckDB с помощью dbt-duckdb
DuckDB — это встроенная база данных, похожая на SQLite, но предназначенная для аналитики в стиле OLAP, а не OLTP. Единственный параметр конфигурации, который требуется в вашем профиле (в дополнение к type: duckdb
), это поле path
, которое должно указывать на путь в вашей локальной файловой системе, где вы хотите, чтобы файл базы данных DuckDB (и его связанный журнал предзаписи) был записан. Вы также можете указать параметр schema
, если хотите использовать схему, отличную от стандартной (которая называется main
).
Также существует поле database
, определенное в классе DuckDBCredentials
для согласованности с родительским классом Credentials
, но оно по умолчанию установлено в main
, и изменение его на что-то другое может привести к странным последствиям, которые невозможно полностью предсказать, поэтому, пожалуйста, избегайте его изменения.
Начиная с версии 1.2.3, вы можете загружать любые поддерживаемые расширения DuckDB, перечисляя их в поле extensions
в вашем профиле. Вы также можете задать любые дополнительные опции конфигурации DuckDB через поле settings
, включая опции, поддерживаемые в любых загруженных расширениях.
Например, чтобы иметь возможность подключаться к s3
и читать/записывать файлы parquet
с использованием ключа доступа AWS и секрета, ваш профиль будет выглядеть примерно так:
your_profile_name:
target: dev
outputs:
dev:
type: duckdb
path: 'file_path/database_name.duckdb'
extensions:
- httpfs
- parquet
settings:
s3_region: my-aws-region
s3_access_key_id: "{{ env_var('S3_ACCESS_KEY_ID') }}"
s3_secret_access_key: "{{ env_var('S3_SECRET_ACCESS_KEY') }}"