Требования к конвейеру
- Исходная таблица BigQuery должна существовать.
- Целевая таблица ClickHouse должна существовать.
- Хост ClickHouse должен быть доступен с машин-воркеров Dataflow.
Параметры Template
Значения по умолчанию для всех параметров
ClickHouseIO можно найти в коннекторе Apache Beam ClickHouseIOСхема исходной и целевой таблиц
- Шаблоны формируют объект схемы на основе целевой таблицы ClickHouse.
- Шаблоны перебирают набор данных BigQuery и пытаются сопоставить столбцы по их именам.
Сопоставление типов данных
Запуск Template
Обязательно ознакомьтесь с этим документом, особенно с приведёнными выше разделами, чтобы полностью понять требования к конфигурации Template
и необходимые предварительные условия.
- Google Cloud Console
- Google Cloud CLI
Войдите в Google Cloud Console и найдите DataFlow.
- Нажмите кнопку
CREATE JOB FROM TEMPLATE - Когда откроется форма Template, введите имя задачи и выберите нужный регион.
- В поле
DataFlow TemplateвведитеClickHouseилиBigQuery, затем выберите TemplateBigQuery to ClickHouse - После выбора форма развернётся, и вы сможете указать дополнительные сведения:
- JDBC URL сервера ClickHouse в следующем формате:
jdbc:clickhouse://host:port/schema. - Имя пользователя ClickHouse.
- Имя целевой таблицы ClickHouse.
- JDBC URL сервера ClickHouse в следующем формате:
Параметр пароля ClickHouse отмечен как необязательный — для случаев, когда пароль не настроен.
Чтобы добавить его, прокрутите страницу вниз до параметра
Password for ClickHouse Endpoint.- Настройте и добавьте все конфигурации, относящиеся к BigQuery/ClickHouseIO, как подробно описано в разделе Параметры Template
Отслеживание задачи
Устранение неполадок
Ошибка превышения общего лимита памяти (код 241)
- Увеличьте ресурсы инстанса: переведите ClickHouse server на более крупный инстанс с большим объёмом памяти, чтобы он справлялся с нагрузкой при обработке данных.
- Уменьшите размер батча: настройте размер батча в конфигурации задачи Dataflow так, чтобы в ClickHouse отправлялись меньшие фрагменты данных и снижалось потребление памяти на каждый батч. Эти изменения помогут сбалансировать использование ресурсов во время ингестии данных.
Исходный код Template
GoogleCloudPlatform/DataflowTemplates— основной репозиторий Google Cloud Platform.ClickHouse/DataflowTemplates— форк ClickHouse.