[Документация Yandex Cloud](../../index.md) > [Yandex Query](../index.md) > Пошаговые инструкции > Загрузка схемы данных

# Загрузка схемы данных

Для упрощения повторяющихся действий по настройке схем данных [привязок к данным](../concepts/glossary.md#binding), схемы данных можно загрузить из заранее подготовленного файла. Для этого выполните:

1. В [консоли управления](https://console.yandex.cloud) выберите каталог, в котором нужно изменить привязку к данным.
1. Перейдите в сервис **Yandex Query**.
1. На панели слева выберите **Привязки**.
1. В строке с именем нужной привязки нажмите кнопку ![ellipsis](../../_assets/console-icons/ellipsis.svg) и выберите **Изменить**.
1. Нажмите кнопку **Загрузить из файла**, выберите файл со [схемой данных](#schema).
1. Нажмите кнопку **Изменить**.

## Схемы данных {#schema}

Поддерживается импорт нескольких форматов схемы данных:
1. [Текстовый формат](#txt_schema).
1. [JSON-формат](#json_schema).
1. [JSON-формат](#json_schema_data_transfer), совместимый с [Data Transfer](../../data-transfer/operations/endpoint/source/data-streams.md#additional-settings).

### Текстовый формат {#txt_schema}

Текстовый формат записи схемы данных максимально приближен к SQL-синтаксису описания данных и состоит из ключевого слова `SCHEMA`, списка полей и их типов. Существующие схемы данных возможно экспортировать из Yandex Query только в этом формате.

Ниже приведен пример схемы данных в текстовом формате:

```
SCHEMA=(
    billing_account_id String NOT NULL,
    billing_account_name String
    )
```

Где:
* `billing_account_id` — название поля.
* `String` — тип поля.
* `NOT NULL` — признак, что наличие поля в исходных данных является обязательным.

### JSON формат {#json_schema}

JSON-формат описания схемы предназначен для импорта схем данных из сторонних систем. JSON-формат состоит из набора записей с описанием полей и их типов, а также признака обязательности наличия полей в данных.


Ниже приведен пример схемы данных в JSON-формате:

```
[
    {
        "name": "billing_account_id",
        "type": "String",
        "required": true
    },
    {
        "name": "billing_account_name",
        "type": "String",
        "required": false
    }
]
```

Где:
* `billing_account_id` — название поля.
* `String` — тип поля.
* `required: true` — признак, что наличие поля в исходных данных является обязательным.

### JSON-формат, совместимый с Data Transfer {#json_schema_data_transfer}

Данный формат предназначен для совместимого описания схем данных между различными системами. Данный JSON-формат представляет из себя набор записей с описанием полей и их типов, наличие всех полей считается необязательным в исходных данных.

Ниже приведен пример схемы данных:

```
[
    {
        "name": "billing_account_id",
        "typeName": "String"
    },
    {
        "name": "billing_account_name",
        "typeName": "String"
    }
]
```

Где:
* `billing_account_id` — название поля.
* `String` — тип поля.

Для совместимости между Yandex Query и Data Transfer рекомендуется использовать следующие типы данных:
* INT64
* INT32
* INT16
* UINT64
* UINT32
* UINT16
* DOUBLE
* STRING
* UTF8