Обратите внимание, что коннекторы Airbyte Source и Destination для ClickHouse сейчас находятся в альфа-статусе и не подходят для переноса больших наборов данных (> 10 млн строк)
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 Cloud: - В Airbyte откройте страницу “Destinations” и добавьте новый пункт назначения:
-
Выберите ClickHouse в раскрывающемся списке “Destination type” и заполните форму “Set up the destination”: укажите hostname и порты 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, в качестве Storage Provider —HTTPS Public Web, а в качестве Dataset Name —nyc_taxi_2022. - Готово! Теперь вы добавили в Airbyte файловый источник.
4
Создание подключения и загрузка набора данных в ClickHouse
- В Airbyte перейдите на страницу “Connections” и добавьте новое подключение
- Выберите “Использовать существующий источник” и New York City Taxi Data, затем — “Использовать существующий пункт назначения” и свой экземпляр ClickHouse.
-
Заполните форму “Настройка соединения”: выберите частоту репликации (в этом руководстве мы будем использовать
manual) и выберитеnyc_taxi_2022в качестве потока для синхронизации. Убедитесь, что в качестве нормализации выбраноNormalized Tabular Data.
- Теперь, когда подключение создано, нажмите “Синхронизировать сейчас”, чтобы запустить загрузку данных (так как в качестве частоты репликации мы выбрали
Manual)
- Начнется загрузка данных; вы можете развернуть это представление, чтобы увидеть журналы Airbyte и прогресс. Когда операция завершится, в журналах появится сообщение
Completed successfully:
-
Подключитесь к своему экземпляру ClickHouse с помощью любого удобного SQL-клиента и проверьте полученную таблицу:
Ответ должен выглядеть так:Результат:
-
Обратите внимание, что Airbyte автоматически определил типы данных и добавил 4 столбца в целевую таблицу. Эти столбцы Airbyte использует для управления логикой репликации и ведения журнала операций. Подробнее см. в официальной документации Airbyte.
Теперь, когда набор данных загружен в экземпляр ClickHouse, вы можете создать новую таблицу и использовать более подходящие типы данных ClickHouse (подробнее).
- Поздравляем — вы успешно загрузили данные о нью-йоркских такси в ClickHouse с помощью Airbyte!