Настройка MySQL
Некоторая основная функциональность может быть ограничена. Если вы заинтересованы в участии, ознакомьтесь с исходным кодом для каждого из перечисленных ниже репозиториев.
- Поддерживается: Community
- Авторы: Doug Beatty (https://github.com/dbeatty10)
- Репозиторий GitHub: dbeatty10/dbt-mysql
- Пакет PyPI:
dbt-mysql - Канал в Slack: #db-mysql-family
- Поддерживаемая версия dbt Core: v0.18.0 и новее
- Поддержка dbt: Не поддерживается
- Минимальная версия платформы данных: MySQL 5.7 и 8.0
Установка dbt-mysql
Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core.
Используйте следующую команду для установки:
python -m pip install dbt-core dbt-mysql
Настройка dbt-mysql
Конфигурацию, специфичную для MySQL, см. на странице настроек MySQL.
Это экспериментальный плагин:
- Он не был тщательно протестирован.
- Движки хранения, отличные от InnoDB по умолчанию, не тестировались.
- Протестирован только с dbt-adapter-tests с следующими версиями:
- MySQL 5.7
- MySQL 8.0
- MariaDB 10.5
- Совместимость с другими пакетами dbt (такими как dbt_utils) также не тестировалась.
Пожалуйста, внимательно прочитайте эту документацию и используйте на свой страх и риск. Проблемы и PRs приветствуются!
Подключение к MySQL с помощью dbt-mysql
Цели MySQL должны быть настроены с использованием следующей конфигурации в вашем файле profiles.yml.
Пример:
your_profile_name:
target: dev
outputs:
dev:
type: mysql
server: localhost
port: 3306
schema: analytics
username: your_mysql_username
password: your_mysql_password
ssl_disabled: True
Описание полей профиля MySQL
| Loading table... |
Поддерживаемые функции
| Loading table... |
Примечания
- Эфемерные материализации зависят от Общих табличных выражений (CTEs), которые поддерживаются только с MySQL 8.0.
- MySQL 5.7 имеет некоторые особенности конфигурации, которые могут повлиять на работу снимков dbt из-за автоматической инициализации и обновления для
TIMESTAMP.- Если вывод
SHOW VARIABLES LIKE 'sql_mode'включаетNO_ZERO_DATE. Решением является включение следующего в файл*.cnf:
[mysqld]
explicit_defaults_for_timestamp = true
sql_mode = "ALLOW_INVALID_DATES,{other_sql_modes}"- Где
{other_sql_modes}— это остальные режимы из выводаSHOW VARIABLES LIKE 'sql_mode'.
- Если вывод