Настройка SingleStore
Некоторые основные функции могут отличаться. Если вы хотите сообщить об ошибке, запросить функцию или внести свой вклад, вы можете ознакомиться с указанным репозиторием и открыть задачу.
- Поддерживается: SingleStore, Inc.
- Авторы: SingleStore, Inc.
- Репозиторий GitHub: memsql/dbt-singlestore
- Пакет PyPI:
dbt-singlestore - Канал в Slack: db-singlestore
- Поддерживаемая версия dbt Core: v1.0.0 и новее
- Поддержка dbt: Не поддерживается
- Минимальная версия платформы данных: v7.5
Установка dbt-singlestore
Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core.
Используйте следующую команду для установки:
python -m pip install dbt-core dbt-singlestore
Настройка dbt-singlestore
Конфигурацию, специфичную для SingleStore, см. на странице настроек SingleStore.
Настройка цели SingleStore
Цели SingleStore должны быть настроены с использованием следующей конфигурации в вашем файле profiles.yml. Если вы используете SingleStore Managed Service, необходимые данные для подключения можно найти на странице вашего кластера в разделе "Connect" -> вкладка "SQL IDE".
singlestore:
target: dev
outputs:
dev:
type: singlestore
host: [hostname] # необязательно, по умолчанию localhost
port: [port number] # необязательно, по умолчанию 3306
user: [user] # необязательно, по умолчанию root
password: [password] # необязательно, по умолчанию пусто
database: [database name] # обязательно
schema: [prefix for tables that dbt will generate] # обязательно
threads: [1 or more] # необязательно, по умолчанию 1
Рекомендуется также задать необязательные параметры.
Описание полей профиля SingleStore
| Loading table... |
Схема и параллельная разработка
SingleStore не имеет концепции schema, которая соответствует используемой в dbt (пространство имен в базе данных). schema в вашем профиле необходима для корректной работы dbt с метаданными вашего проекта. Например, вы увидите это на странице "dbt docs", даже если это не присутствует в базе данных.
Для поддержки параллельной разработки schema может использоваться для префикса имен table таблиц, которые dbt создает в вашей базе данных. Чтобы включить это, добавьте следующий макрос в ваш проект. Этот макрос будет использовать поле schema из вашего файла profiles.yml в качестве префикса имени таблицы.
-- macros/generate_alias_name.sql
{% macro generate_alias_name(custom_alias_name=none, node=none) -%}
{%- if custom_alias_name is none -%}
{{ node.schema }}__{{ node.name }}
{%- else -%}
{{ node.schema }}__{{ custom_alias_name | trim }}
{%- endif -%}
{%- endmacro %}
Таким образом, если вы установите schema=dev в вашем файле .dbt/profiles.yml и запустите модель customers с соответствующим профилем, dbt создаст таблицу с именем dev__customers в вашей базе данных.