Соединение 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!