# Настройки моделей Python

Используйте `dbt.config()` для задания настроек модели Python. На этой странице перечислены необходимые параметры. О том, как написать модель Python, читайте в разделе [Модели Python](https://docs.getdbt.tech/docs/build/python-models.md).

Только литеральные значения

`dbt.config()` принимает только литеральные значения (строки, логические значения и числа). Для более сложных значений задавайте настройки в [YAML-файле свойств](https://docs.getdbt.tech/reference/resource-properties/config.md). Подробнее см. в разделе [Настройка моделей Python](https://docs.getdbt.tech/docs/build/python-models.md#configuring-python-models).

## Общие параметры

Следующие параметры работают на всех платформах, поддерживающих модели Python.

| Параметр                                                                               | Тип            | Описание                                                                                                                                                                                                                       |
| -------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [`materialized`](https://docs.getdbt.tech/reference/resource-configs/materialized.md) | `<string>`     | Способ, которым dbt создает модель, например `table` или `incremental`. Модели Python не поддерживают `view`.                                                                                                                  |
| [`tags`](https://docs.getdbt.tech/reference/resource-configs/tags.md)                 | `<list>`       | Теги, применяемые к модели.                                                                                                                                                                                                    |
| [`meta`](https://docs.getdbt.tech/reference/resource-configs/meta.md)                 | `<dictionary>` | Пользовательские метаданные. Для чтения используйте `dbt.config.meta_get()`.                                                                                                                                                   |
| `packages`                                                                             | `<list>`       | Пакеты для установки с возможностью фиксации версий, например `numpy==1.23.1`. Обязателен на некоторых платформах. См. раздел [Настройка пакетов](https://docs.getdbt.tech/docs/build/python-models.md#configuring-packages). |

Чтобы прочитать значение любой настройки внутри модели, используйте `dbt.config.get()`.

## Параметры для отдельных платформ

### Snowflake

| Параметр                       | Тип            | По умолчанию | Описание                                                                                                                                                                                                                                                             |
| ------------------------------ | -------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `python_version`               | `<string>`     | `3.10`       | Версия Python, на которой выполняется модель Snowpark.                                                                                                                                                                                                               |
| `packages`                     | `<list>`       | `[]`         | Пакеты Anaconda, устанавливаемые при выполнении модели. dbt всегда добавляет `snowflake-snowpark-python`.                                                                                                                                                            |
| `imports`                      | `<list>`       | `[]`         | Файлы в области промежуточного хранения (stage), например zip-файлы, которые нужно сделать доступными для модели. См. раздел [Сторонние пакеты Snowflake](https://docs.getdbt.tech/reference/resource-configs/snowflake-configs.md#third-party-snowflake-packages). |
| `external_access_integrations` | `<list>`       | `[]`         | Интеграции внешнего доступа Snowflake, позволяющие модели обращаться к внешним API.                                                                                                                                                                                  |
| `secrets`                      | `<dictionary>` | `{}`         | Сопоставляет имя переменной в коде с секретом Snowflake. Используйте вместе с `external_access_integrations`.                                                                                                                                                        |
| `use_anonymous_sproc`          | `<boolean>`    | `True`       | Если задано `True`, dbt выполняет модель как анонимную хранимую процедуру. Если задано `False`, dbt создаёт именованную процедуру (`<model_name>__dbt_sp`), вызывает её, а затем удаляет.                                                                            |

Дополнительные сведения и более полный список см. в разделе [Настройки Snowflake](https://docs.getdbt.tech/reference/resource-configs/snowflake-configs.md#additional-parameters).

### Databricks

| Параметр                       | Тип            | Значение по умолчанию         | Описание                                                                                                                                                                                                                                       |
| ------------------------------ | -------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `submission_method`            | `<string>`     | `all_purpose_cluster`         | Способ отправки задания в dbt: `all_purpose_cluster`, `job_cluster`, `serverless_cluster` или `workflow_job`.                                                                                                                                  |
| `create_notebook`              | `<boolean>`    | `false`                       | При использовании `all_purpose_cluster` загружать блокнот и запускать его как задание вместо использования Command API.                                                                                                                        |
| `cluster_id`                   | `<string>`     | `None`                        | Идентификатор существующего универсального кластера для выполнения.                                                                                                                                                                            |
| `http_path`                    | `<string>`     | `None`                        | Путь к существующему универсальному кластеру для выполнения.                                                                                                                                                                                   |
| `job_cluster_config`           | `<dictionary>` | `{}`                          | Настройки нового кластера, используемого методами `job_cluster` и `workflow_job`.                                                                                                                                                              |
| `timeout`                      | `<integer>`    | `0` (без ограничения времени) | Максимальное время ожидания выполнения команды или задания.                                                                                                                                                                                    |
| `packages`                     | `<list>`       | `[]`                          | Пакеты для установки на кластер.                                                                                                                                                                                                               |
| `index_url`                    | `<string>`     | `None` (используется PyPI)    | URL-адрес источника для установки `packages`.                                                                                                                                                                                                  |
| `additional_libs`              | `<list>`       | `[]`                          | Библиотеки, подключаемые к заданию.                                                                                                                                                                                                            |
| `access_control_list`          | `<list>`       | `[]`                          | Пользователи и другие субъекты, которым разрешено просматривать задание Databricks, выполняющее эту модель Python, или управлять им.                                                                                                           |
| `notebook_access_control_list` | `<list>`       | `[]`                          | Разрешения для блокнота Databricks, который dbt создает из этой модели Python при каждом запуске. Каждая запись предоставляет пользователю, группе или субъекту-службе уровень разрешений: `CAN_READ`, `CAN_RUN`, `CAN_EDIT` или `CAN_MANAGE`. |
| `python_job_config`            | `<dictionary>` | `{}`                          | Дополнительные настройки задания и рабочего процесса.                                                                                                                                                                                          |

Не все параметры работают с каждым способом отправки задания. Дополнительные сведения и более полный список см. в разделе [Настройки Databricks](https://docs.getdbt.tech/reference/resource-configs/databricks-configs.md#python-submission-methods).

### BigQuery

| Параметр                | Тип         | Значение по умолчанию | Описание                                                              |
| ----------------------- | ----------- | --------------------- | --------------------------------------------------------------------- |
| `submission_method`     | `<string>`  | отсутствует           | Где выполняется задание: `serverless`, `bigframes` или `cluster`.     |
| `dataproc_cluster_name` | `<string>`  | отсутствует           | Кластер Dataproc для выполнения. Обязателен для `cluster`.            |
| `dataproc_region`       | `<string>`  | отсутствует           | Регион Google Cloud, в котором включен Dataproc.                      |
| `gcs_bucket`            | `<string>`  | отсутствует           | Бакет Cloud Storage для артефактов задания.                           |
| `compute_region`        | `<string>`  | отсутствует           | Регион выполнения задания.                                            |
| `notebook_template_id`  | `<integer>` | отсутствует           | Шаблон среды выполнения Colab Enterprise.                             |
| `packages`              | `<list>`    | отсутствует           | Пакеты для установки с помощью `pip install`. Только для `bigframes`. |
| `timeout`               | `<integer>` | отсутствует           | Максимальное время выполнения в секундах.                             |
| `enable_list_inference` | `<boolean>` | `True`                | Разрешить PySpark читать несколько записей за одну операцию.          |
| `intermediate_format`   | `<string>`  | `parquet`             | Формат файлов для промежуточной записи: `parquet` или `orc`.          |

Дополнительные сведения и более полный список см. в разделе [Настройки BigQuery](https://docs.getdbt.tech/reference/resource-configs/bigquery-configs.md#additional-parameters).
