Перейти к основному содержанию
Перейти к основному содержанию

Справочные материалы

Поддерживаемые источники данных

NameLogoTypeStatusDescription
Apache KafkaStreamingStableНастройте ClickPipes и начните приём потоковых данных из Apache Kafka в ClickHouse Cloud.
Confluent CloudStreamingStableИспользуйте совместные возможности Confluent и ClickHouse Cloud с помощью нашей прямой интеграции.
Redpanda
Логотип Redpanda
StreamingStableНастройте ClickPipes и начните приём потоковых данных из Redpanda в ClickHouse Cloud.
AWS MSKStreamingStableНастройте ClickPipes и начните приём потоковых данных из AWS MSK в ClickHouse Cloud.
Azure Event HubsStreamingStableНастройте ClickPipes и начните приём потоковых данных из Azure Event Hubs в ClickHouse Cloud.
WarpStreamStreamingStableНастройте ClickPipes и начните приём потоковых данных из WarpStream в ClickHouse Cloud.

Поддерживаемые форматы данных

Поддерживаются следующие форматы:

Поддерживаемые типы данных

Стандартные

В ClickPipes в настоящее время поддерживаются следующие стандартные типы данных ClickHouse:

  • Базовые числовые типы — [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)

Avro

Поддерживаемые типы данных Avro

ClickPipes поддерживает все примитивные и сложные типы Avro, а также все логические типы Avro, за исключением time-millis, time-micros, local-timestamp-millis, local_timestamp-micros и duration. Типы Avro record преобразуются в Tuple, типы array — в Array, а map — в Map (только строковые ключи). В целом доступны преобразования, перечисленные здесь. Мы рекомендуем использовать точное соответствие типов для числовых типов Avro, так как ClickPipes не проверяет переполнение или потерю точности при преобразовании типов. В качестве альтернативы все типы Avro могут быть записаны в столбец типа String и в этом случае будут представлены как корректная строка в формате JSON.

Типы Nullable и объединения Avro

Типы Nullable в Avro задаются с помощью схемы Union (T, null) или (null, T), где T — базовый тип Avro. При выводе схемы такие объединения будут отображаться в столбец ClickHouse типа Nullable. Обратите внимание, что ClickHouse не поддерживает типы Nullable(Array), Nullable(Map) или Nullable(Tuple). Объединения Avro с null для этих типов будут отображаться в не-Nullable версии (типы Avro Record отображаются в именованный Tuple в ClickHouse). Значения Avro null для этих типов будут вставляться как:

  • Пустой Array для Avro-массива со значением null
  • Пустой Map для Avro-отображения со значением null
  • Именованный Tuple со всеми значениями по умолчанию/нулевыми значениями для Avro-записи со значением null

Поддержка типа Variant

ClickPipes поддерживает тип Variant в следующих случаях:

  • Avro Unions. Если ваша схема Avro содержит объединение (union) с несколькими типами, отличными от null, ClickPipes определит соответствующий тип Variant. В остальных случаях для данных Avro тип Variant не поддерживается.
  • Поля JSON. Вы можете вручную указать тип Variant (например, Variant(String, Int64, DateTime)) для любого поля JSON во входящем потоке данных. Сложные подтипы (массивы/карты/кортежи) не поддерживаются. Кроме того, из-за того, как ClickPipes определяет корректный подтип Variant, в определении Variant может использоваться только один целочисленный или тип даты/времени — например, Variant(Int64, UInt32) не поддерживается.

Поддержка типа JSON

ClickPipes поддерживают тип JSON в следующих случаях:

  • Типы Avro Record всегда могут быть назначены столбцу типа JSON.
  • Типы Avro String и Bytes могут быть назначены столбцу типа JSON, если столбец фактически содержит объекты JSON типа String.
  • Поля JSON, которые всегда являются объектом JSON, могут быть назначены целевому столбцу типа JSON.

Обратите внимание, что вам потребуется вручную изменить целевой столбец на нужный тип JSON, включая любые фиксированные или пропущенные пути.

Виртуальные столбцы Kafka

Ниже приведены виртуальные столбцы, поддерживаемые для потоковых источников данных, совместимых с Kafka. При создании новой целевой таблицы виртуальные столбцы можно добавить с помощью кнопки Add Column.

NameDescriptionRecommended Data Type
_keyКлюч сообщения KafkaString
_timestampВременная метка Kafka (точность в миллисекундах)DateTime64(3)
_partitionПартиция KafkaInt32
_offsetСмещение KafkaInt64
_topicТопик KafkaString
_header_keysПараллельный массив ключей в заголовках записиArray(String)
_header_valuesПараллельный массив значений заголовков в заголовках записиArray(String)
_raw_messageПолное сообщение KafkaString

Обратите внимание, что столбец _raw_message рекомендуется только для данных в формате JSON.
В сценариях, когда требуется только строка JSON (например, при использовании функций ClickHouse JsonExtract* для заполнения последующей materialized view), можно повысить производительность ClickPipes, удалив все «невиртуальные» столбцы.