Подключение Estuary к ClickHouse
Estuary — это платформа обработки данных в режиме, близком к реальному времени (right-time), которая гибко сочетает потоковые (real-time) и пакетные данные в простых в настройке ETL-конвейерах. Благодаря корпоративному уровню безопасности и вариантам развертывания Estuary обеспечивает надежные потоки данных из SaaS-систем, баз данных и стриминговых источников данных в различные системы‑получатели, включая ClickHouse.
Estuary подключается к ClickHouse через Kafka ClickPipe. Для этой интеграции вам не нужно поддерживать собственную экосистему Kafka.
Руководство по настройке
Предварительные требования
- Учетная запись Estuary
- Одна или несколько captures в Estuary, которые извлекают данные из нужных вам источников
- Учетная запись ClickHouse Cloud с правами на использование ClickPipe
Создайте materialization в Estuary
Чтобы передавать данные из ваших коллекций-источников в Estuary в ClickHouse, сначала нужно создать materialization.
-
В панели управления Estuary перейдите на страницу Destinations.
-
Нажмите + New Materialization.
-
Выберите коннектор ClickHouse.
-
Заполните разделы Materialization, Endpoint и Source Collections:
-
Materialization Details: Укажите уникальное имя для вашей materialization и выберите data plane (облачного провайдера и регион)
-
Endpoint Config: Укажите защищенный Auth Token
-
Source Collections: Свяжите существующий capture или выберите коллекции данных, которые будут доступны в ClickHouse
-
-
Нажмите Next, затем Save and Publish.
-
На странице с деталями materialization запишите полное имя вашей ClickHouse materialization. Оно будет выглядеть примерно так:
your-tenant/your-unique-name/dekaf-clickhouse.
Estuary начнет транслировать выбранные коллекции в виде сообщений Kafka. ClickHouse может получать эти данные через Kafka ClickPipe, используя сведения о брокере Estuary и указанный вами токен аутентификации.
Введите параметры подключения к Kafka
Настройте новый Kafka ClickPipe в ClickHouse и введите параметры подключения:
-
В панели управления ClickHouse Cloud выберите Data sources.
-
Создайте новый ClickPipe.
-
В качестве источника данных выберите Apache Kafka.
-
Введите параметры подключения к Kafka, используя сведения о брокере и реестре Estuary:
- Укажите имя для вашего ClickPipe
- В качестве брокера используйте:
dekaf.estuary-data.com:9092 - Оставьте аутентификацию со значением по умолчанию
SASL/PLAIN - В качестве user укажите полное имя вашей materialization из Estuary (например,
your-tenant/your-unique-name/dekaf-clickhouse) - В качестве password укажите токен аутентификации (auth token), который вы задали для своей materialization
-
Включите параметр использования schema registry
- В качестве schema URL используйте:
https://dekaf.estuary-data.com - Schema key будет таким же, как broker user (имя вашей materialization)
- Secret будет таким же, как broker password (ваш auth token)
- В качестве schema URL используйте:
Настройте входящие данные
-
Выберите один из своих Kafka topics (одну из коллекций данных из Estuary).
-
Выберите offset.
-
ClickHouse обнаружит сообщения топика. Затем вы можете перейти к разделу Parse information, чтобы настроить параметры таблицы.
-
Выберите, создать новую таблицу или загружать данные в соответствующую существующую таблицу.
-
Отобразите поля источника на столбцы таблицы, подтвердив имя столбца, тип и то, является ли он типом Nullable.
-
В финальном разделе Details and settings вы можете выбрать права доступа для выделенного пользователя базы данных.
Когда вас устроит конфигурация, создайте ClickPipe.
ClickHouse подготовит новый источник данных и начнет потреблять сообщения из Estuary. Создайте столько ClickPipes, сколько нужно, чтобы организовать потоковую передачу из всех требуемых коллекций данных.
Дополнительные ресурсы
Дополнительную информацию по настройке интеграции с Estuary см. в документации Estuary:
-
См. раздел документации Estuary о материализации в ClickHouse.
-
Estuary публикует данные в виде Kafka-сообщений с помощью Dekaf. Подробнее о Dekaf можно узнать здесь.
-
Чтобы посмотреть список источников, данные из которых можно передавать в ClickHouse в потоковом режиме с помощью Estuary, изучите раздел capture-коннекторы Estuary.