Соединение Airbyte с ClickHouse
Обратите внимание, что источник и назначение Airbyte для ClickHouse в настоящее время находятся в статусе Alpha и не подходят для перемещения больших наборов данных (> 10 миллионов строк).
Airbyte - это платформа интеграции данных с открытым исходным кодом. Она позволяет создавать ELT конвейеры данных и комплектуется более чем 140 готовыми коннекторами. Этот пошаговый учебник демонстрирует, как подключить Airbyte к ClickHouse в качестве назначения и загрузить образец набора данных.
1. Скачивание и запуск Airbyte
-
Airbyte работает на Docker и использует
docker-compose
. Убедитесь, что вы скачали и установили последние версии Docker. -
Разверните Airbyte, клонировав официальный репозиторий Github и запустив
docker-compose up
в вашем любимом терминале:
-
Как только вы увидите баннер Airbyte в вашем терминале, вы можете подключиться к localhost:8000
примечаниеВ качестве альтернативы, вы можете зарегистрироваться и использовать Airbyte Cloud
2. Добавление ClickHouse в качестве назначения
В этом разделе мы покажем, как добавить экземпляр ClickHouse в качестве назначения.
- Запустите ваш сервер ClickHouse (Airbyte совместим с версией ClickHouse
21.8.10.19
или выше) или войдите в свою учетную запись ClickHouse в облаке:
-
В Airbyte выберите страницу "Destinations" и добавьте новое назначение:
-
Выберите ClickHouse из выпадающего списка "Destination type" и заполните форму "Set up the destination", указав ваш хост и порты ClickHouse, имя базы данных, имя пользователя и пароль, а также выберите, является ли это подключением SSL (эквивалент флага
--secure
вclickhouse-client
): -
Поздравляем! Вы теперь добавили ClickHouse в качестве назначения в Airbyte.
Чтобы использовать ClickHouse в качестве назначения, у пользователя, которого вы будете использовать, должны быть права на создание баз данных, таблиц и вставку строк. Мы рекомендуем создать выделенного пользователя для Airbyte (например, my_airbyte_user
) с следующими правами:
3. Добавление набора данных в качестве источника
Пример набора данных, который мы будем использовать - это Данные такси Нью-Йорка (на Github). Для этого учебника мы будем использовать подмножество этого набора данных за январь 2022 года.
-
В Airbyte выберите страницу "Sources" и добавьте новый источник типа файл.
-
Заполните форму "Set up the source", назвав источник и предоставив URL файла NYC Taxi за январь 2022 года (см. ниже). Убедитесь, что вы выбрали
parquet
в качестве формата файла,HTTPS Public Web
в качестве Провайдера Хранения иnyc_taxi_2022
в качестве Названия Набора Данных.

- Поздравляем! Вы теперь добавили файл источника в Airbyte.
4. Создание подключения и загрузка набора данных в ClickHouse
- В Airbyte выберите страницу "Connections" и добавьте новое подключение.

-
Выберите "Use existing source" и выберите данные такси Нью-Йорка, затем выберите "Use existing destination" и выберите ваш экземпляр ClickHouse.
-
Заполните форму "Set up the connection", выбрав Частоту Репликации (мы используем
manual
для этого учебника) и выберитеnyc_taxi_2022
в качестве потока, который вы хотите синхронизировать. Убедитесь, что вы выбралиNormalized Tabular Data
как Нормализацию.

- Теперь, когда подключение создано, нажмите "Sync now" для запуска загрузки данных (поскольку мы выбрали
Manual
как Частоту Репликации).

- Ваши данные начнут загружаться, вы можете развернуть окно, чтобы увидеть логи и прогресс Airbyte. После завершения операции вы увидите сообщение
Completed successfully
в логах:

- Подключитесь к вашему экземпляру ClickHouse, используя предпочитаемый SQL-клиент, и проверьте получившуюся таблицу:
Ответ должен выглядеть следующим образом:
Ответ:
- Обратите внимание, что Airbyte автоматически определил типы данных и добавил 4 колонки в таблицу назначения. Эти колонки используются Airbyte для управления логикой репликации и ведения учета операций. Более подробная информация доступна в официальной документации Airbyte.
Теперь, когда набор данных загружен в ваш экземпляр ClickHouse, вы можете создать новую таблицу и использовать более подходящие типы данных ClickHouse (более подробная информация).
- Поздравляем - вы успешно загрузили данные такси Нью-Йорка в ClickHouse с помощью Airbyte!