Работа с базами данных Managed Service for ClickHouse®
В этом разделе описана основная информация про работу с Managed Service for ClickHouse®.
Пример чтения данных из Managed Service for ClickHouse®:
SELECT * FROM clickhouse_mdb_connection.my_table
где:
clickhouse_mdb_connection
— название созданного подключения к БД.my_table
— имя таблицы в базе данных.
Для работы с базой данных Managed Service for ClickHouse® необходимо выполнить следующие шаги:
- Создать соединение, содержащее реквизиты для подключения к базе данных.
- Выполнить запрос к базе данных.
Настройка соединения
Чтобы создать соединение с Managed Service for ClickHouse®:
-
В консоли управления
выберите каталог, в котором нужно создать соединение. -
В списке сервисов выберите Yandex Query.
-
На панели слева перейдите на вкладку Соединения.
-
Нажмите кнопку
Создать. -
Укажите параметры соединения:
-
В блоке Общие параметры:
- Имя — название соединения с Managed Service for ClickHouse®.
- Тип —
Managed Service for ClickHouse
.
-
В блоке Параметры типа соединения:
- Кластер — выберите существующий кластер Managed Service for ClickHouse® или создайте новый.
- Сервисный аккаунт — выберите существующий сервисный аккаунт Managed Service for ClickHouse® или создайте новый с ролью
managed-clickhouse.viewer
, от имени которого будет выполняться подключение к кластерамManaged Service for ClickHouse®
. - База данных — выберите базу данных, которая будет использоваться при работе с кластером ClickHouse®.
- Логин — имя пользователя, которое будет использоваться для подключения к базам данных ClickHouse®.
- Пароль — пароль пользователя, который будет использоваться для подключения к базам данных ClickHouse®.
-
-
Нажмите кнопку Создать.
Сервисный аккаунт необходим для обнаружения точек подключения к кластерам Managed Service for ClickHouse® внутри Yandex Cloud, для работы с данными логин и пароль пользователя задаются отдельно.
Важно
Необходимо предварительно разрешить сетевой доступ от Yandex Query до кластеров Managed Service for ClickHouse®. Для этого в настройках базы данных, к которой осуществляется подключение, установите пункт Доступ из Yandex Query.
Синтаксис запросов
Для работы с ClickHouse® используется следующая форма SQL-запроса:
SELECT * FROM <соединение>.<имя_таблицы>
где:
<соединение>
— название созданного подключения к БД.<имя_таблицы>
— имя таблицы в базе данных.
Ограничения
При работе с кластерами ClickHouse® существует ряд ограничений.
Важно
В настоящий момент независимо от указанных фильтров для чтения таблиц ClickHouse®, указанных в SQL-запросе, все данные из таблицы считываются в Yandex Query и уже там происходит применение фильтров.
Ограничения:
- Поддерживаются только запросы чтения данных -
SELECT
, остальные виды запросов не поддерживаются. - Максимальное поддерживаемое количество строк в таблице - 1000000. При превышении этого значения запрос завершается с ошибкой.
-
Если значение даты находится вне допустимого диапазона (все используемые даты должны быть старше 1970-01-1 и меньше 2105-12-31), то выполнение запроса завершается с ошибкой.
Пушдаун фильтров
Yandex Query умеет передавать обработку частей запросов в систему-источник данных. Это означает, что фильтрующие выражения передаются сквозь Yandex Query непосредственно в базу данных для обработки, обычно это условия запросов, указанных в WHERE
. Такой способ обработки называется пушдаун фильтров
.
Пушдаун фильтров возможен при использовании:
Описание | Пример |
---|---|
Фильтров вида IS NULL /IS NOT NULL |
WHERE column1 IS NULL или WHERE column1 IS NOT NULL |
Логических условий OR , NOT , AND . |
WHERE column IS NULL OR column2 is NOT NULL . |
Условий сравнения = , <> , < , <= , > , >= c другими колонками или константами. |
WHERE column3 > column4 OR column5 <= 10 . |
Поддерживаемые типы данных для пушдауна фильтров:
Тип данных Yandex Query |
---|
BOOL |
INT8 |
UINT8 |
INT16 |
UINT16 |
INT32 |
UINT32 |
INT64 |
UINT64 |
FLOAT |
DOUBLE |
Поддерживаемые типы данных
Ниже приведена таблица соответствия типов ClickHouse® и типов Yandex Query.
Тип данных ClickHouse® | Тип данных Yandex Query | Примечания |
---|---|---|
Bool |
BOOL |
|
Int8 |
INT8 |
|
UInt8 |
UINT8 |
|
Int16 |
INT16 |
|
UInt16 |
UINT16 |
|
Int32 |
INT32 |
|
UInt32 |
UINT32 |
|
Int64 |
INT64 |
|
UInt64 |
UINT64 |
|
Float32 |
FLOAT |
|
Float64 |
DOUBLE |
|
Date |
DATE |
|
DateTime |
DATETIME |
Допустимый диапазон дат с 1970-01-01 00:00 и до 2105-12-31 23:59 |
String |
STRING |
|
FixedString |
STRING |
Нулевые байты FixedString переносятся в STRING без изменений |
Остальные типы данных не поддерживаются.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc