Настройка TiDB
Некоторая основная функциональность может быть ограничена. Если вы заинтересованы в участии, ознакомьтесь с репозиторием исходного кода, указанным ниже.
- Поддерживается: PingCAP
- Авторы: Xiang Zhang, Qiang Wu, Yuhang Shi
- Репозиторий на GitHub: pingcap/dbt-tidb
- Пакет на PyPI:
dbt-tidb
- Канал в Slack: #db-tidb
- Поддерживаемая версия dbt Core: v1.0.0 и новее
- Поддержка dbt Cloud: Не поддерживается
- Минимальная версия платформы данных: n/a
Установка dbt-tidb
Используйте pip
для установки адаптера. До версии 1.8 установка адаптера автоматически устанавливала dbt-core
и любые дополнительные зависимости. Начиная с версии 1.8, установка адаптера не устанавливает автоматически dbt-core
. Это связано с тем, что адаптеры и версии dbt Core были разделены, и мы больше не хотим перезаписывать существующие установки dbt-core.
Используйте следующую команду для установки:
Конфигурация dbt-tidb
Для конфигурации, специфичной для TiDB, пожалуйста, обратитесь к конфигурациям TiDB.
Подключение к TiDB с помощью dbt-tidb
Аутентификация с использованием имени пользователя и пароля
Настройте ваш профиль dbt для использования TiDB:
Профиль подключения к TiDB
dbt-tidb:
target: dev
outputs:
dev:
type: tidb
server: 127.0.0.1
port: 4000
schema: database_name
username: tidb_username
password: tidb_password
# необязательно
retries: 3 # по умолчанию 1
Описание полей профиля
Опция | Описание | Обязательно? | Пример |
---|---|---|---|
type | Конкретный адаптер для использования | Обязательно | tidb |
server | Сервер (имя хоста) для подключения | Обязательно | yourorg.tidb.com |
port | Порт для использования | Обязательно | 4000 |
schema | Укажите схему (базу данных) для построения моделей | Обязательно | analytics |
username | Имя пользователя для подключения к серверу | Обязательно | dbt_admin |
password | Пароль для аутентификации на сервере | Обязательно | awesome_password |
retries | Количество попыток после неудачного подключения | Необязательно | по умолчанию 1 |
Привилегии пользователя базы данных
Ваш пользователь базы данных должен иметь некоторые возможности для чтения или записи, такие как SELECT
, CREATE
и так далее.
Вы можете найти помощь здесь по управлению привилегиями TiDB.
Необходимая привилегия |
---|
SELECT |
CREATE |
CREATE TEMPORARY TABLE |
CREATE VIEW |
INSERT |
DROP |
SHOW DATABASE |
SHOW VIEW |
SUPER |
Поддерживаемые функции
TiDB 4.X | TiDB 5.0 ~ 5.2 | TiDB >= 5.3 | Функция |
---|---|---|---|
✅ | ✅ | ✅ | Материализация таблиц |
✅ | ✅ | ✅ | Материализация представлений |
❌ | ❌ | ✅ | Инкрементальная материализация |
❌ | ✅ | ✅ | Эфемерная материализация |
✅ | ✅ | ✅ | Seeds |
✅ | ✅ | ✅ | Sources |
✅ | ✅ | ✅ | Пользовательские тесты данных |
✅ | ✅ | ✅ | Генерация документации |
❌ | ❌ | ✅ | Снимки |
✅ | ✅ | ✅ | Grant |
✅ | ✅ | ✅ | Повторное подключение |
Примечание:
- TiDB 4.0 ~ 5.0 не поддерживает CTE,
вам следует избегать использования
WITH
в вашем SQL-коде. - TiDB 4.0 ~ 5.2 не поддерживает создание временной таблицы или представления.
- TiDB 4.X не поддерживает использование SQL-функций в
CREATE VIEW
, избегайте этого в вашем SQL-коде. Более подробную информацию можно найти здесь.