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

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

## Обзор dbt-extrica

* **Сопровождение**: Extrica, Trianz
* **Авторы**: Gaurav Mittal, Viney Kumar, Mohammed Feroz, и Mrinal Mayank
* **Репозиторий GitHub**: [extricatrianz/dbt-extrica](https://github.com/extricatrianz/dbt-extrica)
* **Пакет PyPI**: `dbt-extrica` [![](https://badge.fury.io/py/dbt-extrica.svg)](https://badge.fury.io/py/dbt-extrica)
* **Поддерживаемая версия dbt v1**: v1.7.2 и новее
* **Поддержка dbt**: Не поддерживается
* **Минимальная версия платформы данных**: n/a

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

Используйте `pip` для установки адаптера, который автоматически установит `dbt-core` и любые дополнительные зависимости. Используйте следующую команду для установки:

`python -m pip install dbt-extrica`

## Подключение к Extrica

#### Пример profiles.yml

Вот пример профилей dbt-extrica. Минимально необходимо указать `type`, `method`, `username`, `password`, `host`, `port`, `schema`, `catalog` и `threads`.

\~/.dbt/profiles.yml

```yaml
<profile-name>:
  outputs:
    dev:
      type: extrica
      method: jwt 
      username: [username for jwt auth]
      password: [password for jwt auth]  
      host: [extrica hostname]
      port: [port number]
      schema: [dev_schema]
      catalog: [catalog_name]
      threads: [1 or more]

    prod:
      type: extrica
      method: jwt 
      username: [username for jwt auth]
      password: [password for jwt auth]  
      host: [extrica hostname]
      port: [port number]
      schema: [dev_schema]
      catalog: [catalog_name]
      threads: [1 or more]
  target: dev
```

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

| Параметр | Тип     | Описание                                                                                                                                     |
| -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| type     | string  | Указывает тип адаптера dbt (Extrica).                                                                                                        |
| method   | jwt     | Метод аутентификации для аутентификации с помощью JWT.                                                                                       |
| username | string  | Имя пользователя для аутентификации с помощью JWT. Полученный токен JWT используется для инициализации объекта trino.auth.JWTAuthentication. |
| password | string  | Пароль для аутентификации с помощью JWT. Полученный токен JWT используется для инициализации объекта trino.auth.JWTAuthentication.           |
| host     | string  | Параметр host задаёт имя хоста или IP-адрес сервера Trino в Extrica.                                                                         |
| port     | integer | Параметр port задаёт номер порта, на котором сервер Trino в Extrica принимает подключения.                                                   |
| schema   | string  | Имя схемы или базы данных для подключения.                                                                                                   |
| catalog  | string  | Имя каталога, представляющего источник данных.                                                                                               |
| threads  | integer | Количество потоков для параллельного выполнения запросов. (1 или более)                                                                      |
