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

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

Плагин, поддерживаемый поставщиком

Некоторая [основная функциональность](https://github.com/databendcloud/dbt-databend#supported-features) может быть ограничена. Если вы заинтересованы в участии, ознакомьтесь с репозиторием исходного кода, указанным ниже.

* **Поддерживается**: Databend Cloud
* **Авторы**: Shanjie Han
* **Репозиторий GitHub**: [databendcloud/dbt-databend](https://github.com/databendcloud/dbt-databend) [![](https://img.shields.io/github/stars/databendcloud/dbt-databend?style=for-the-badge)](https://github.com/databendcloud/dbt-databend)
* **Пакет PyPI**: `dbt-databend-cloud` [![](https://badge.fury.io/py/dbt-databend-cloud.svg)](https://badge.fury.io/py/dbt-databend-cloud)
* **Канал Slack**:[]()
* **Поддерживаемая версия dbt**: v1.0.0 и новее
* **Поддержка dbt**: Не поддерживается
* **Минимальная версия платформы данных**: н/д

## Установка dbt-databend-cloud

Установите адаптер с помощью \`pip\`: `python -m pip install dbt-databend-cloud`

## Настройка dbt-databend-cloud

Конфигурацию, специфичную для Databend Cloud, см. на странице [настроек Databend Cloud.](https://docs.getdbt.tech/reference/resource-configs/no-configs.md)

## Подключение к Databend Cloud с помощью **dbt-databend-cloud**

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

Настройте ваш профиль dbt для использования Databend Cloud:

#### Профиль подключения к Databend Cloud

profiles.yml

```yaml
dbt-databend-cloud:
  target: dev
  outputs:
    dev:
      type: databend
      host: databend-cloud-host
      port: 443
      schema: database_name
      user: username
      pass: password
```

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

| Опция  | Описание                                           | Обязательно? | Пример                      |
| ------ | -------------------------------------------------- | ------------ | --------------------------- |
| type   | Конкретный адаптер для использования               | Обязательно  | `databend`                  |
| host   | Хост (имя хоста) для подключения                   | Обязательно  | `yourorg.datafusecloud.com` |
| port   | Порт для использования                             | Обязательно  | `443`                       |
| schema | Укажите схему (базу данных) для построения моделей | Обязательно  | `default`                   |
| user   | Имя пользователя для подключения к хосту           | Обязательно  | `dbt_admin`                 |
| pass   | Пароль для аутентификации на хосте                 | Обязательно  | `awesome_password`          |

## Привилегии пользователя базы данных

Ваш пользователь базы данных должен иметь некоторые возможности для чтения или записи, такие как `SELECT`, `CREATE` и так далее. Вы можете найти помощь [здесь](https://docs.databend.com/using-databend-cloud/warehouses/connecting-a-warehouse) с управлением привилегиями в Databend Cloud.

| Необходимая привилегия |
| ---------------------- |
| SELECT                 |
| CREATE                 |
| CREATE TEMPORARY TABLE |
| CREATE VIEW            |
| INSERT                 |
| DROP                   |
| SHOW DATABASE          |
| SHOW VIEW              |
| SUPER                  |

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

| ok | Функция                        |
| -- | ------------------------------ |
| ✅ | Материализация таблиц          |
| ✅ | Материализация представлений   |
| ✅ | Инкрементальная материализация |
| ❌ | Эфемерная материализация       |
| ✅ | Seeds                          |
| ✅ | Источники                      |
| ✅ | Пользовательские тесты данных  |
| ✅ | Генерация документации         |
| ❌ | Снимки                         |
| ✅ | Повторное подключение          |

**Примечание:**

* Databend не поддерживает `Ephemeral` и `SnapShot`. Более подробную информацию можно найти [здесь](https://github.com/datafuselabs/databend/issues/8685)
