Подключение BladePipe к ClickHouse
BladePipe — это инструмент интеграции данных в реальном времени с задержкой менее одной секунды, способствующий бесперебойному потоку данных между платформами.
ClickHouse является одним из предустановленных коннекторов BladePipe, позволяющим пользователям автоматически интегрировать данные из различных источников в ClickHouse. Эта страница покажет, как загрузить данные в ClickHouse в реальном времени шаг за шагом.
Поддерживаемые источники
В данный момент BladePipe поддерживает интеграцию данных в ClickHouse из следующих источников:
- MySQL/MariaDB/AuroraMySQL
- Oracle
- PostgreSQL/AuroraPostgreSQL
- MongoDB
- Kafka
- PolarDB-MySQL
- OceanBase
- TiDB
Поддержка большего числа источников будет добавлена.
Загрузка и запуск BladePipe
-
Войдите в BladePipe Cloud.
-
Следуйте инструкциям в Установка Worker (Docker) или Установка Worker (Binary), чтобы скачать и установить Worker BladePipe.
В качестве альтернативы вы можете скачать и развернуть BladePipe Enterprise.
Добавление ClickHouse в качестве цели
- BladePipe поддерживает ClickHouse версии
20.12.3.3
и выше. - Чтобы использовать ClickHouse в качестве цели, убедитесь, что у пользователя есть права SELECT, INSERT и общие разрешения DDL.
-
В BladePipe нажмите "DataSource" > "Добавить DataSource".
-
Выберите
ClickHouse
и заполните настройки, указав хост и порт ClickHouse, имя пользователя и пароль, затем нажмите "Проверить соединение". -
Нажмите "Добавить DataSource" внизу, и экземпляр ClickHouse будет добавлен.
Добавление MySQL в качестве источника
В этом руководстве мы используем экземпляр MySQL в качестве источника и объясняем процесс загрузки данных MySQL в ClickHouse.
Чтобы использовать MySQL в качестве источника, убедитесь, что у пользователя есть необходимые права.
-
В BladePipe нажмите "DataSource" > "Добавить DataSource".
-
Выберите
MySQL
и заполните настройки, указав хост и порт MySQL, имя пользователя и пароль, затем нажмите "Проверить соединение". -
Нажмите "Добавить DataSource" внизу, и экземпляр MySQL будет добавлен.
Создание канала
-
В BladePipe нажмите "DataJob" > "Создать DataJob".
-
Выберите добавленные экземпляры MySQL и ClickHouse и нажмите "Проверить соединение", чтобы убедиться, что BladePipe подключен к экземплярам. Затем выберите базы данных, которые нужно переместить.
-
Выберите "Инкрементный" для типа DataJob, вместе с опцией "Полные данные".
-
Выберите таблицы, которые нужно реплицировать.
-
Выберите колонки, которые нужно реплицировать.
-
Подтвердите создание DataJob, и DataJob будет запущен автоматически.
Проверка данных
- Остановите запись данных в экземпляре MySQL и дождитесь, пока ClickHouse объединит данные.
Из-за непредсказуемого времени автоматического объединения ClickHouse вы можете вручную запустить объединение, выполнив команду OPTIMIZE TABLE xxx FINAL;
. Обратите внимание, что есть вероятность, что это ручное объединение может не всегда пройти успешно.
В качестве альтернативы вы можете выполнить команду CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;
, чтобы создать представление и выполнять запросы на представлении, чтобы убедиться, что данные полностью объединены.
- Создайте Verification DataJob. После завершения Verification DataJob просмотрите результаты, чтобы подтвердить, что данные в ClickHouse совпадают с данными в MySQL.