Запрос ClickHouse
Источник данных Запрос ClickHouse позволяет выбрать данные из хранилища данных Yandex ClickHouse.
На входной порт подайте связь от узла Сервер ClickHouse для указания параметров подключения.
Замечание
Узел позволяет извлекать данные таблиц и представлений (простых и материализованных).
Свойства узла
- Название
Укажите название узла, которое будет отображаться на диаграмме процесса и в журнале событий. - Описание
Укажите произвольное описание узла. Запрос
Укажите запрос для получения данных. В качестве языка запросов используйте ClickHouse SQL.Замечание
Извлечь данные возможно из любых баз данных, в том числе отличных от указанной в параметрах подключения Сервера ClickHouse.
Предупреждение
Если база данных не будет указана, запрос будет выполнен из базы данных, указанной в параметрах подключения Сервера ClickHouse.
Замечание
Не смотря на то, что язык запросов схож с SQL, он не является ANSI SQL, ознакомьтесь со списком различий.
Особенности преобразования типов данных
Ввиду того, что не все типы данных хранилища ClickHouse поддерживаются Колибри.Интеграция, запрос должен возвращать данные в одном из поддерживаемых типов ClickHouse, который будет преобразован в тип Колибри.
Таблица преобразования из типов ClickHouse в типы Колибри
Тип ClickHouse | Тип Колибри | Примечание |
---|---|---|
Int8 | Целое число | |
UInt8 | Целое число | |
Int16 | Целое число | |
UInt16 | Целое число | |
Int32 | Целое число | |
UInt32 | Число | |
Int64 | Число | |
UInt64 | Число | |
Float32 | Число | |
Float64 | Число | |
Decimal | Число | Возможно переполнение типа. ClickHouse позволяет хранить большие числа, не поддерживаемые .NET (Колибри) |
Date | Дата | |
DateTime | Дата | Дата во временной зоне колонки или, если для колонки не задана временная зона, во временной зоне сервера ClickHouse* |
String | Строка | В кодировке UTF8 |
FixedString(N) | Строка | В кодировке UTF8 |
UUID | Идентификатор | |
IpV4 | Строка | |
IpV6 | Строка |
* В данных хранилища ClickHouse, имеющих тип DateTime
, всегда указана временная зона, Колибри.Интеграция наоборот оперирует типом данных DateTime
без временной зоны.
Поэтому при получении из хранилища ClickHouse данных, они не будут преобразованы к временной зоне сервера Колибри и будут соответствовать временной зоне колонки хранилища ClickHouse или временной зоне сервера ClickHouse.
Пример запроса, выполняемого узлом Запрос ClickHouse
SELECT number as `целое`,
'Привет ' || toString(number) as `строка`,
toDecimal32(number / 3, 2) as `дробное`,
generateUUIDv4() as uuid,
now() + number as `дата`
FROM numbers(10);