Соединение 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 выберите страницу "Назначения" и добавьте новое назначение:
-
Выберите ClickHouse из выпадающего списка "Тип назначения" и заполните форму "Настройка назначения", указав имя хоста и порты ClickHouse, имя базы данных, имя пользователя и пароль, а также выберите, является ли это SSL-соединением (эквивалентно флагу
--secure
вclickhouse-client
): -
Поздравляем! Теперь вы добавили ClickHouse в качестве назначения в Airbyte.
Чтобы использовать ClickHouse в качестве назначения, пользователь, который вы будете использовать, должен иметь права на создание баз данных, таблиц и вставку строк. Рекомендуем создать специального пользователя для Airbyte (например, my_airbyte_user
) с следующими правами:
3. Добавьте набор данных в качестве источника
Примером набора данных, который мы будем использовать, являются данные такси Нью-Йорка (New York City Taxi Data) (на Github). В этом руководстве мы будем использовать подмножество этого набора данных, соответствующее месяцу января 2022 года.
-
В Airbyte выберите страницу "Источники" и добавьте новый источник типа файл.
-
Заполните форму "Настройка источника", указав имя источника и предоставив URL файла NYC Taxi за январь 2022 года (см. ниже). Убедитесь, что вы выбрали
parquet
в качестве формата файла,HTTPS Public Web
в качестве поставщика хранения иnyc_taxi_2022
в качестве имени набора данных. -
Поздравляем! Вы только что добавили файл-источник в Airbyte.
4. Создайте соединение и загрузите набор данных в ClickHouse
-
В Airbyte выберите страницу "Соединения" и добавьте новое соединение.
-
Выберите "Использовать существующий источник" и выберите данные такси Нью-Йорка, затем выберите "Использовать существующее назначение" и выберите ваш экземпляр ClickHouse.
-
Заполните форму "Настройка соединения", выбрав частоту репликации (для этого учебника мы используем
manual
) и выберитеnyc_taxi_2022
в качестве потока, который вы хотите синхронизировать. Убедитесь, что вы выбралиNormalized Tabular Data
в качестве нормализации. -
Теперь, когда соединение создано, нажмите "Синхронизировать сейчас", чтобы запустить загрузку данных (поскольку мы выбрали
Manual
в качестве частоты репликации). -
Ваши данные начнут загружаться, вы можете развернуть вид, чтобы увидеть логи и прогресс Airbyte. Как только операция завершится, вы увидите сообщение
Завершено успешно
в логах: -
Подключитесь к своему экземпляру ClickHouse, используя предпочитаемый клиент SQL, и проверьте полученную таблицу:
Ответ должен выглядеть следующим образом:
Ответ будет:
-
Обратите внимание, что Airbyte автоматически определил типы данных и добавил 4 колонки в таблицу назначения. Эти колонки используются Airbyte для управления логикой репликации и ведения логов операций. Более подробная информация доступна в официальной документации Airbyte.
Теперь, когда набор данных загружен в ваш экземпляр ClickHouse, вы можете создать новую таблицу и использовать более подходящие типы данных ClickHouse (более подробная информация).
-
Поздравляем - вы успешно загрузили данные такси Нью-Йорка в ClickHouse с использованием Airbyte!