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

Подключите Airbyte к ClickHouse

Community Maintained
примечание

Обратите внимание, что источник и назначение 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 Cloud

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

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

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

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

  3. Выберите ClickHouse из выпадающего списка "Destination type" и заполните форму "Set up the destination", указав имя хоста и порты ClickHouse, имя базы данных, имя пользователя и пароль, а также выберите, является ли это SSL-соединением (эквивалентно флагу --secure в clickhouse-client):

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

примечание

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

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

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

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

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

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

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

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

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

  1. Теперь, когда соединение создано, нажмите "Sync now", чтобы запустить загрузку данных (так как мы выбрали Manual в качестве частоты репликации).
  1. Ваши данные начнут загружаться, вы можете развернуть вид для просмотра логов Airbyte и хода выполнения. Как только операция завершится, вы увидите сообщение Completed successfully в логах:
  1. Подключитесь к вашему экземпляру ClickHouse, используя предпочитаемый SQL-клиент, и проверьте полученную таблицу:

    Ответ должен выглядеть так:

    Ответ:

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

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

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