Предварительные требования
Создание первого ClickPipe
- Откройте SQL Console для вашего сервиса ClickHouse Cloud.
- В левом меню нажмите кнопку
Data Sources, затем — “Set up a ClickPipe”
- Выберите источник данных.
- Заполните форму: укажите имя ClickPipe, описание (необязательно), роль IAM или учётные данные, а также другие сведения о подключении.
-
Выберите поток Kinesis, Data format и начальное смещение. Для
Protobufзагрузите файл.protoили сериализованныйFileDescriptorSet(максимум 768 КиБ). Schema registry не требуется. В интерфейсе отображаются примеры данных из выбранного потока. Параметр Use Kinesis Enhanced Fan-Out включён по умолчанию. Подробнее см. в документации Amazon Kinesis.
- На следующем шаге можно выбрать, куда выполнять приём данных: в новую таблицу ClickHouse или в существующую. Следуйте инструкциям на экране, чтобы изменить имя таблицы, схему и настройки. Вверху страницы доступен предварительный просмотр изменений в образце таблицы в реальном времени.
- Либо можно настроить приём данных в существующую таблицу ClickHouse. В этом случае интерфейс позволит сопоставить поля источника с полями ClickHouse в выбранной целевой таблице.
- Наконец, вы можете настроить разрешения для внутреннего пользователя ClickPipes.
Full access: полный доступ к кластеру. Это может быть полезно, если вы используете materialized view или словарь вместе с целевой таблицей.Only destination table: только разрешенияINSERTдля целевой таблицы.
- Нажмите “Complete Setup”, чтобы система зарегистрировала ClickPipe, после чего он появится в сводной таблице.
- Поздравляем! Вы успешно настроили свой первый ClickPipe. Если это стриминговый ClickPipe, он будет непрерывно работать и выполнять ингестию данных в реальном времени из удалённого источника. В противном случае он обработает батч и завершит работу.
Поддерживаемые форматы данных
Сжатие
- gzip
- zstd
- lz4
- snappy (фреймированный формат)
Автоопределение безопасно для текстовых форматов, таких как JSON и CSV, поскольку печатные символы ASCII не могут совпасть с сигнатурами magic bytes сжатия.
Поддерживаемые типы данных
Поддержка стандартных типов
- Базовые числовые типы — [U]Int8/16/32/64, Float32/64 и BFloat16
- Целочисленные типы большой разрядности — [U]Int128/256
- Типы Decimal
- Boolean
- String
- FixedString
- Date, Date32
- DateTime, DateTime64 (только часовой пояс UTC)
- Enum8/Enum16
- UUID
- IPv4
- IPv6
- все типы ClickHouse LowCardinality
- Map с ключами и значениями, использующими любой из перечисленных выше типов (включая Nullable)
- Tuple и Array с элементами, использующими любой из перечисленных выше типов (включая Nullable; только один уровень вложенности)
- типы SimpleAggregateFunction (для пунктов назначения AggregatingMergeTree или SummingMergeTree)
Поддержка типа варианта
Variant(String, Int64, DateTime)) для любого JSON-поля
в потоке исходных данных. Поскольку ClickPipes определяет, какой подтип варианта следует использовать, особым образом, в определении Variant можно использовать только один целочисленный тип или один тип datetime —
например, Variant(Int64, UInt32) не поддерживается.
Поддержка типа JSON
Виртуальные столбцы Kinesis
Add Column.
Поле _raw_message можно использовать в случаях, когда нужна только полная JSON-запись Kinesis (например, при использовании функций ClickHouse
JsonExtract* для заполнения материализованного
представления ниже по конвейеру). Для таких пайпов удаление всех «не виртуальных» столбцов может повысить производительность ClickPipes.
Ограничения
- DEFAULT не поддерживается.
- По умолчанию размер отдельных сообщений ограничен 16 МБ (без сжатия) для реплик минимального размера (XS) и 32 МБ (без сжатия) для более крупных реплик. Сообщения, превышающие этот лимит, будут отклонены с ошибкой. Если вам требуются сообщения большего размера, пожалуйста, обратитесь в службу поддержки.
Производительность
Батчинг
- Размер батча достиг максимального значения (100 000 строк или 32 МБ на 1 ГБ памяти реплики)
- Батч оставался открытым в течение максимально допустимого времени (5 секунд)