# Подключение StarRocks к dbt v1

Локальная разработка

## Обзор dbt-starrocks

* **Сопровождение**: Starrocks
* **Авторы**: Astralidea
* **Репозиторий GitHub**: [StarRocks/dbt-starrocks](https://github.com/StarRocks/dbt-starrocks)[![](https://img.shields.io/github/stars/StarRocks/dbt-starrocks?style=for-the-badge)](https://github.com/StarRocks/dbt-starrocks)
* **Пакет PyPI**: `dbt-starrocks` [![](https://badge.fury.io/py/dbt-starrocks.svg)](https://badge.fury.io/py/dbt-starrocks)
* **Канал Slack**: [#db-starrocks](https://www.getdbt.com/community)
* **Поддерживаемая версия dbt v1**: v1.6.2 и новее
* **Поддержка dbt**: Не поддерживается
* **Минимальная версия платформы данных**: Starrocks 2.5

## Установка dbt-starrocks

pip — это самый простой способ установить адаптер:

`python -m pip install dbt-starrocks`

Установка `dbt-starrocks` также установит `dbt-core` и любые другие зависимости.

## Конфигурация dbt-starrocks

Для конфигурации, специфичной для Starrocks, пожалуйста, обратитесь к [Конфигурация Starrocks](https://docs.getdbt.tech/reference/resource-configs/starrocks-configs.md)

Для получения дополнительной информации обратитесь к репозиторию на GitHub: [StarRocks/dbt-starrocks](https://github.com/StarRocks/dbt-starrocks)

## Методы аутентификации

### Аутентификация с использованием имени пользователя и пароля

Starrocks можно настроить, используя базовую аутентификацию с именем пользователя и паролем, как показано ниже.

\~/.dbt/profiles.yml

```yaml
my-starrocks-db:
  target: dev
  outputs:
    dev:
      type: starrocks
      host: localhost
      port: 9030
      schema: analytics
      
      # Аутентификация с использованием имени пользователя и пароля
      username: your_starrocks_username
      password: your_starrocks_password
```

#### Описание полей профиля

| Опция    | Описание                                                             | Обязательно?  | Пример                         |
| -------- | -------------------------------------------------------------------- | ------------- | ------------------------------ |
| type     | Конкретный адаптер для использования                                 | Обязательно   | `starrocks`                    |
| host     | Имя хоста для подключения                                            | Обязательно   | `192.168.100.28`               |
| port     | Порт для использования                                               | Обязательно   | `9030`                         |
| schema   | Укажите схему (базу данных) для построения моделей                   | Обязательно   | `analytics`                    |
| username | Имя пользователя для подключения к серверу                           | Обязательно   | `dbt_admin`                    |
| password | Пароль для аутентификации на сервере                                 | Обязательно   | `correct-horse-battery-staple` |
| version  | Позволяет плагину попытаться перейти на совместимую версию starrocks | Необязательно | `3.1.0`                        |

## Поддерживаемые функции

| Starrocks <= 2.5 | Starrocks 2.5 \~ 3.1 | Starrocks >= 3.1 | Функция                                        |
| ---------------- | -------------------- | ---------------- | ---------------------------------------------- |
| ✅               | ✅                   | ✅               | Материализация таблиц                          |
| ✅               | ✅                   | ✅               | Материализация представлений                   |
| ❌               | ❌                   | ✅               | Материализация материализованных представлений |
| ❌               | ✅                   | ✅               | Инкрементальная материализация                 |
| ❌               | ✅                   | ✅               | Модель первичного ключа                        |
| ✅               | ✅                   | ✅               | Источники                                      |
| ✅               | ✅                   | ✅               | Пользовательские тесты данных                  |
| ✅               | ✅                   | ✅               | Генерация документации                         |
| ❌               | ❌                   | ❌               | Kafka                                          |

### Примечание

1. Когда версия StarRocks < 2.5, `Create table as` может установить только engine='OLAP' и table\_type='DUPLICATE'
2. Когда версия StarRocks >= 2.5, `Create table as` поддерживает table\_type='PRIMARY'
3. Когда версия StarRocks < 3.1, требуется distributed\_by

Для наилучшей работы рекомендуется использовать последние версии starrocks и dbt-starrocks.
