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

Справка

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

НазваниеЛоготипТипСтатусОписание
Apache KafkaПотоковыйСтабильныйНастройте ClickPipes и начните загружать потоковые данные из Apache Kafka в ClickHouse Cloud.
Confluent CloudПотоковыйСтабильныйРаскройте объединенную мощь Confluent и ClickHouse Cloud через нашу прямую интеграцию.
Redpanda
Логотип Redpanda
ПотоковыйСтабильныйНастройте ClickPipes и начните загружать потоковые данные из Redpanda в ClickHouse Cloud.
AWS MSKПотоковыйСтабильныйНастройте ClickPipes и начните загружать потоковые данные из AWS MSK в ClickHouse Cloud.
Azure Event HubsПотоковыйСтабильныйНастройте ClickPipes и начните загружать потоковые данные из Azure Event Hubs в ClickHouse Cloud.
WarpStreamПотоковыйСтабильныйНастройте ClickPipes и начните загружать потоковые данные из WarpStream в ClickHouse Cloud.

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

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

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

Стандартные

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

  • Базовые численные типы - [U]Int8/16/32/64, Float32/64 и BFloat16
  • Большие целочисленные типы - [U]Int128/256
  • Десятичные типы
  • Логические
  • Строки
  • FixedString
  • Дата, Date32
  • ДатаВремя, DateTime64 (только часовые пояса UTC)
  • Enum8/Enum16
  • UUID
  • IPv4
  • IPv6
  • все типы ClickHouse LowCardinality
  • Map с ключами и значениями, использующими любые из вышеперечисленных типов (включая Nullables)
  • Tuple и Array с элементами, использующими любые из вышеперечисленных типов (включая Nullables, только один уровень глубины)
  • Типы 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 определяются с помощью схемы объединения (T, null) или (null, T), где T - базовый тип Avro. Во время вывода схемы такие объединения будут сопоставлены с колонкой "Nullable" в ClickHouse. Обратите внимание, что ClickHouse не поддерживает типов Nullable(Array), Nullable(Map) или Nullable(Tuple). Объединения null Avro для этих типов будут сопоставлены с непростыми версиями (типы Avro Record будут сопоставлены с именованным Tuple в ClickHouse). "Nulls" Avro для этих типов будут вставлены как:

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

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

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

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

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

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

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

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

Виртуальные колонки Kafka

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

НазваниеОписаниеРекомендуемый тип данных
_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* для заполнения последующего материализованного представления), может улучшить производительность ClickPipes удаление всех "не виртуальных" колонок.