Показать / скрыть оглавление

    Запрос 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);
    
    В начало страницы Справочная система Колибри. Группа компаний Октоника, 2022