Перейти к основному содержимому

Настройка DuckDB

Плагин сообщества

Некоторая основная функциональность может быть ограничена. Если вы заинтересованы в участии, ознакомьтесь с исходным кодом для каждого из перечисленных ниже репозиториев.

  • Поддерживается: Community
  • Авторы: Josh Wills (https://github.com/jwills)
  • Репозиторий GitHub: duckdb/dbt-duckdb
  • Пакет PyPI: dbt-duckdb
  • Канал в Slack: #db-duckdb
  • Поддерживаемая версия dbt Core: v1.0.1 и новее
  • Поддержка dbt: Not Supported
  • Минимальная версия платформы данных: DuckDB 0.3.2

Установка dbt-duckdb

Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core. Используйте следующую команду для установки:

python -m pip install dbt-core dbt-duckdb

Настройка 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 и секрета, ваш профиль будет выглядеть примерно так:

profiles.yml
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') }}"

Нашли ошибку?

0
Loading