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

Подключение BladePipe к ClickHouse

Community Maintained

BladePipe — это инструмент интеграции данных в реальном времени с задержкой менее одной секунды, способствующий бесперебойному потоку данных между платформами.

ClickHouse является одним из предустановленных коннекторов BladePipe, позволяющим пользователям автоматически интегрировать данные из различных источников в ClickHouse. Эта страница покажет, как загрузить данные в ClickHouse в реальном времени шаг за шагом.

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

В данный момент BladePipe поддерживает интеграцию данных в ClickHouse из следующих источников:

  • MySQL/MariaDB/AuroraMySQL
  • Oracle
  • PostgreSQL/AuroraPostgreSQL
  • MongoDB
  • Kafka
  • PolarDB-MySQL
  • OceanBase
  • TiDB

Поддержка большего числа источников будет добавлена.

Загрузка и запуск BladePipe

  1. Войдите в BladePipe Cloud.

  2. Следуйте инструкциям в Установка Worker (Docker) или Установка Worker (Binary), чтобы скачать и установить Worker BladePipe.

примечание

В качестве альтернативы вы можете скачать и развернуть BladePipe Enterprise.

Добавление ClickHouse в качестве цели

примечание
  1. BladePipe поддерживает ClickHouse версии 20.12.3.3 и выше.
  2. Чтобы использовать ClickHouse в качестве цели, убедитесь, что у пользователя есть права SELECT, INSERT и общие разрешения DDL.
  1. В BladePipe нажмите "DataSource" > "Добавить DataSource".

  2. Выберите ClickHouse и заполните настройки, указав хост и порт ClickHouse, имя пользователя и пароль, затем нажмите "Проверить соединение".

    Добавить ClickHouse в качестве цели
  3. Нажмите "Добавить DataSource" внизу, и экземпляр ClickHouse будет добавлен.

Добавление MySQL в качестве источника

В этом руководстве мы используем экземпляр MySQL в качестве источника и объясняем процесс загрузки данных MySQL в ClickHouse.

примечание

Чтобы использовать MySQL в качестве источника, убедитесь, что у пользователя есть необходимые права.

  1. В BladePipe нажмите "DataSource" > "Добавить DataSource".

  2. Выберите MySQL и заполните настройки, указав хост и порт MySQL, имя пользователя и пароль, затем нажмите "Проверить соединение".

    Добавить MySQL в качестве источника
  3. Нажмите "Добавить DataSource" внизу, и экземпляр MySQL будет добавлен.

Создание канала

  1. В BladePipe нажмите "DataJob" > "Создать DataJob".

  2. Выберите добавленные экземпляры MySQL и ClickHouse и нажмите "Проверить соединение", чтобы убедиться, что BladePipe подключен к экземплярам. Затем выберите базы данных, которые нужно переместить.

    Выберите источник и цель
  3. Выберите "Инкрементный" для типа DataJob, вместе с опцией "Полные данные".

    Выбор типа синхронизации
  4. Выберите таблицы, которые нужно реплицировать.

    Выбор таблиц
  5. Выберите колонки, которые нужно реплицировать.

    Выбор колонок
  6. Подтвердите создание DataJob, и DataJob будет запущен автоматически.

    DataJob выполняется

Проверка данных

  1. Остановите запись данных в экземпляре MySQL и дождитесь, пока ClickHouse объединит данные.
примечание

Из-за непредсказуемого времени автоматического объединения ClickHouse вы можете вручную запустить объединение, выполнив команду OPTIMIZE TABLE xxx FINAL;. Обратите внимание, что есть вероятность, что это ручное объединение может не всегда пройти успешно.

В качестве альтернативы вы можете выполнить команду CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;, чтобы создать представление и выполнять запросы на представлении, чтобы убедиться, что данные полностью объединены.

  1. Создайте Verification DataJob. После завершения Verification DataJob просмотрите результаты, чтобы подтвердить, что данные в ClickHouse совпадают с данными в MySQL.
    Проверка данных