# Визуализация данных из CHYT



В этом разделе описано, как подключить CHYT, используя публичную клику в качестве источника данных для DataLens.

## Перед началом работы {#before-you-begin}

Чтобы использовать YTsaurus-таблицу в качестве источника данных, выберите клику CHYT, с которой вы будете работать.

{% note info %}

Клика — виртуальный кластер в CHYT. Она представлена операцией и у нее есть идентификатор (`operation_id`) или алиас (`alias`). Существуют публичные и приватные клики.

{% endnote %}


При работе с CHYT вы можете воспользоваться публичной кликой `*ch_public`.

## Подготовьте таблицу данных на YTsaurus {#prepare-table}

Перед созданием коннектора в CHYT подготовьте вашу таблицу на YTsaurus:

- Таблица должна быть статической. [Подробнее о статических таблицах в YTsaurus](https://ytsaurus.tech/docs/ru/user-guide/storage/static-tables).

- Таблица должна быть схематизирована. DataLens выполняет запрос к таблице и получает ее схему для формирования датасета. [Подробнее о схемах в YTsaurus](https://ytsaurus.tech/docs/ru/user-guide/storage/static-schema).

{% note tip %}

Рекомендуется:

* Сортировать таблицы по основным полям, по которым происходит фильтрация. Например, по полям с датой.
* Включить [поколоночный формат хранения чанков](https://ytsaurus.tech/docs/ru/user-guide/storage/chunks#columns) с помощью атрибута `optimize_for = scan` . Это позволит DataLens быстрее работать с таблицей.

{% endnote %}

## Создайте чарт {#create-chart}


Для создания чарта в DataLens вам необходимо создать подключение и датасет над ним.

#### Создайте подключение {#create-connection}

Для работы с CHYT вам необходимо создать подключение **CHYT**.

 Чтобы создать подключение к YTsaurus CHYT:
 
 1. Перейдите на [страницу создания нового подключения](https://datalens.ru/connections/new).
 1. В разделе **Базы данных** выберите подключение **YTsaurus CHYT**.
 
 
 1. Укажите параметры подключения:
 
    * **Имя хоста**. Укажите адрес прокси серверов YTsaurus.
    * **Порт**. Укажите порт подключения к CHYT.
    * **Алиас клики**. Укажите алиас запущенной клики. По умолчанию используется публичная клика `*ch_public`.
    * **Токен YTsaurus**. Укажите вручную OAuth-токен для работы с YTsaurus. Подробнее в [документации YTsaurus](https://ytsaurus.tech/docs/ru/user-guide/storage/auth).
    * **Время жизни кеша в секундах**. Укажите время жизни кеша или оставьте значение по умолчанию. Рекомендованное значение — 300 секунд (5 минут).
 
    * **Уровень доступа SQL-запросов**. Позволяет использовать произвольный SQL-запрос для [формирования датасета](../dataset/settings.md#sql-request-in-datatset). По умолчанию опция отключена. При активации необходимо выбрать уровень доступа SQL-запросов:
    
       * **Только подзапросы** — описывать источники датасета с помощью [SQL-запросов](../dataset/settings.md#sql-request-in-datatset).
       * **Подзапросы и параметры** — описывать источники датасета с помощью SQL-запросов и использовать [параметризацию источников](../dataset/settings.md#parametrization).
       * **SQL на чтение** — описывать источники датасета с помощью SQL-запросов, использовать параметризацию источников и [создавать QL-чарты](../concepts/chart/ql-charts.md).
 
    * **HTTPS**. Активируйте опцию безопасного подключения, если ваш сервер поддерживает протокол HTTPS.
 
 
 1. (опционально) Проверьте работоспособность подключения. Для этого нажмите кнопку **Проверить подключение**.
 1. Нажмите кнопку **Создать подключение**.
 
 
 1. Выберите [воркбук](../workbooks-collections/index.md), в котором сохранится подключение, или создайте новый. Если вы пользуетесь старой навигацией по папкам, выберите папку для сохранения подключения. Нажмите кнопку **Создать**.
 
 
 1. Укажите название подключения и нажмите кнопку **Создать**.
 
 
 
 ## Дополнительные настройки {#additional-settings}
 
 Вы можете ограничить экспорт данных из чартов, включив опцию **Запрет на экспорт данных** в разделе **Продвинутые настройки подключения**. Когда опция включена, в чартах на базе этого подключения в меню ![icon](../../_assets/console-icons/ellipsis.svg) пункт экспорта данных будет недоступен. При этом останется возможность копировать данные из чартов, а также снимать скриншоты.
 
Из интерфейса создания подключения вы можете сразу перейти к созданию датасета. Для этого в правом верхнем углу нажмите **Создать датасет**.

#### Создайте датасет {#create-dataset}

После создания подключения вы можете создать датасет над ним.

1. В меню навигации слева нажмите значок ![icon-datasets](../../_assets/console-icons/circles-intersection.svg) и в правом верхнем углу нажмите кнопку **Создать датасет**.
1. В открывшемся окне в разделе **Подключения** нажмите **+ Добавить**. Выберите подключение **CHYT**, которое вы создали ранее.

1. Выберите способ указания источника:

    - **Таблица** — Одна таблица на YTsaurus. URL из браузера или полный путь к таблице.

    - **Список** — Несколько таблиц на YTsaurus. URL из браузера или полный путь к таблице. Каждая таблица с новой строки.

    - **Диапазон** — Диапазон таблиц на YTsaurus. Вы можете задать самостоятельно задать диапазон таблицы с помощью полей **Начать с** и **Закончить на**. DataLens добавит все таблицы в датасет, которые указаны в диапазоне в алфавитном порядке. Если значения границ оставить пустыми, DataLens будет использовать все таблицы в указанной папке. Вы также можете задать только одно значение границы.

      {% note info %}

      Например, в папке расположены двадцать таблиц и они названы `table_1` , `table_2` , `table_3` , ... . Если задать значения границ `1`  и `5` , DataLens использует только пять таблиц из папки.

      {% endnote %}

    - **SQL** — Выборка данных для датасета через SQL-запрос. Рекомендуется копировать запрос из Query в синтаксисе ClickHouse® и потом вставить его в поле. 

      {% note warning %}

      Предварительно обработайте запрос из Query: удалите все символы точки с запятой `;` . Весь Query-запрос из DataLens выполняется как подзапрос.

      {% endnote %}

1. Нажмите **Сохранить**. Убедитесь, что данные отображаются в превью датасета.

1. Нажмите Сохранить в правом верхнем углу. Введите имя датасета и нажмите **Создать**. Датасет появится в списке доступных вам датасетов.

Над созданным датасетом вы можете создавать различные чарты и размещать их на дашбордах.

## Часто задаваемые вопросы {#questions}


{% cut "Ошибка в интерфейсе Access to table was denied" %}

`ERR.DS_API.DB.CHYT.TABLE_ACCESS_DENIED `

У пользователя YTsaurus-токена нет доступа к выбранной таблице. Используйте другой токен (пользователя, у которого есть доступ к таблице) или выдайте доступ к таблице пользователю, чей токен указан в подключении.
Если вы не знаете, кто создал подключение — создайте новое.

{% endcut %}

{% cut "Ошибка в интерфейсе Clique not running" %}

`ERR.DS_API.CLIQUE_STOPPED` 

Не запущена CHYT-клика, которая указана в подключении. Перезапустите ее.

{% endcut %}

{% cut "Ошибка в интерфейсе Column used in join expression is not a key column" %}

`ERR.DS_API.DB.CHYT.INVALID_SORTED_JOIN`

При использовании подключения CHYT имеют большую роль ключевые колонки таблиц в YTsaurus. В мультитабличных датасетах разрешается создавать связь таблиц (делать JOIN) только по ключевым колонкам (key columns) этих таблиц, выполняя следующие требования:
* все колонки, используемые в связи таблиц должны быть частью ключа для обеих из них;
* ключ обеих таблиц должен начинаться именно на эти колонки;
* эти колонки в ключах обеих таблиц должны присутствовать в одном и том же порядке.

Чтобы обойти проблему, пересоздайте исходные таблицы с заданием таких ключей, которые будут удовлетворять этим условиям.

{% endcut %}


{% cut "Ошибка в интерфейсе YTsaurus table has no schema. Only schematized tables are supported" %}

`ERR.DS_API.DB.CHYT.TABLE_HAS_NO_SCHEMA`

Используемая YTsaurus таблица не имеет схемы. Использование таких таблиц в DataLens невозможно. Пересоздайте таблицу со схемой (указанием типов данных)

{% endcut %}


{% cut "Ошибка в интерфейсе Requested database column does not exist" %}

Смотрите [подробнее](../troubleshooting/errors/ERR-DS_API-DB-COLUMN_DOES_NOT_EXIST.md).

{% endcut %}

_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._