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

Соединение Airbyte с ClickHouse

примечание

Обратите внимание, что источник и назначение Airbyte для ClickHouse в настоящее время находятся в статусе Alpha и не подходят для перемещения больших наборов данных (> 10 миллионов строк).

Airbyte — это платформа интеграции данных с открытым исходным кодом. Она позволяет создавать ELT конвейеры данных и поставляется с более чем 140 интеграциями из коробки. Этот пошаговый учебник покажет, как подключить Airbyte к ClickHouse в качестве назначения и загрузить пример набора данных.

1. Скачайте и запустите Airbyte

  1. Airbyte работает на Docker и использует docker-compose. Убедитесь, что вы скачали и установили последние версии Docker.

  2. Разверните Airbyte, склонировав официальный репозиторий Github и запустив docker-compose up в вашем любимом терминале:

  3. Как только вы увидите баннер Airbyte в терминале, вы можете подключиться к localhost:8000

    Баннер Airbyte
    примечание

    В качестве альтернативы вы можете зарегистрироваться и использовать Airbyte Cloud

2. Добавьте ClickHouse в качестве назначения

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

  1. Запустите ваш сервер ClickHouse (Airbyte совместим с версией ClickHouse 21.8.10.19 или выше) или войдите в свой облачный аккаунт ClickHouse:

  2. В Airbyte выберите страницу "Назначения" и добавьте новое назначение:

    Добавление назначения в Airbyte
  3. Выберите ClickHouse из выпадающего списка "Тип назначения" и заполните форму "Настройка назначения", указав имя хоста и порты ClickHouse, имя базы данных, имя пользователя и пароль, а также выберите, является ли это SSL-соединением (эквивалентно флагу --secure в clickhouse-client):

    Создание назначения ClickHouse в Airbyte
  4. Поздравляем! Теперь вы добавили ClickHouse в качестве назначения в Airbyte.

примечание

Чтобы использовать ClickHouse в качестве назначения, пользователь, который вы будете использовать, должен иметь права на создание баз данных, таблиц и вставку строк. Рекомендуем создать специального пользователя для Airbyte (например, my_airbyte_user) с следующими правами:

3. Добавьте набор данных в качестве источника

Примером набора данных, который мы будем использовать, являются данные такси Нью-Йорка (New York City Taxi Data) (на Github). В этом руководстве мы будем использовать подмножество этого набора данных, соответствующее месяцу января 2022 года.

  1. В Airbyte выберите страницу "Источники" и добавьте новый источник типа файл.

    Добавление источника в Airbyte
  2. Заполните форму "Настройка источника", указав имя источника и предоставив URL файла NYC Taxi за январь 2022 года (см. ниже). Убедитесь, что вы выбрали parquet в качестве формата файла, HTTPS Public Web в качестве поставщика хранения и nyc_taxi_2022 в качестве имени набора данных.

    Создание источника ClickHouse в Airbyte
  3. Поздравляем! Вы только что добавили файл-источник в Airbyte.

4. Создайте соединение и загрузите набор данных в ClickHouse

  1. В Airbyte выберите страницу "Соединения" и добавьте новое соединение.

    Добавление соединения в Airbyte
  2. Выберите "Использовать существующий источник" и выберите данные такси Нью-Йорка, затем выберите "Использовать существующее назначение" и выберите ваш экземпляр ClickHouse.

  3. Заполните форму "Настройка соединения", выбрав частоту репликации (для этого учебника мы используем manual) и выберите nyc_taxi_2022 в качестве потока, который вы хотите синхронизировать. Убедитесь, что вы выбрали Normalized Tabular Data в качестве нормализации.

    Создание соединения в Airbyte
  4. Теперь, когда соединение создано, нажмите "Синхронизировать сейчас", чтобы запустить загрузку данных (поскольку мы выбрали Manual в качестве частоты репликации).

    Синхронизировать сейчас в Airbyte
  5. Ваши данные начнут загружаться, вы можете развернуть вид, чтобы увидеть логи и прогресс Airbyte. Как только операция завершится, вы увидите сообщение Завершено успешно в логах:

    Завершено успешно
  6. Подключитесь к своему экземпляру ClickHouse, используя предпочитаемый клиент SQL, и проверьте полученную таблицу:

    Ответ должен выглядеть следующим образом:

    Ответ будет:

  7. Обратите внимание, что Airbyte автоматически определил типы данных и добавил 4 колонки в таблицу назначения. Эти колонки используются Airbyte для управления логикой репликации и ведения логов операций. Более подробная информация доступна в официальной документации Airbyte.

    Теперь, когда набор данных загружен в ваш экземпляр ClickHouse, вы можете создать новую таблицу и использовать более подходящие типы данных ClickHouse (более подробная информация).

  8. Поздравляем - вы успешно загрузили данные такси Нью-Йорка в ClickHouse с использованием Airbyte!