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