Интеграция Amazon Glue с ClickHouse и Spark
ClickHouse Supported
Amazon Glue — это полностью управляемый бессерверный сервис для интеграции данных от Amazon Web Services (AWS). Он упрощает процесс обнаружения, подготовки и преобразования данных для аналитики, машинного обучения и разработки приложений.
Установка
Чтобы интегрировать ваш код Glue с ClickHouse, вы можете использовать наш официальный коннектор Spark в Glue одним из следующих способов:
- Установить коннектор ClickHouse Glue из AWS Marketplace (рекомендуется).
- Вручную добавить JAR‑файлы Spark Connector в ваше задание Glue.
- AWS Marketplace
- Ручная установка
-
Подпишитесь на коннектор
Чтобы получить доступ к коннектору в вашей учётной записи, оформите подписку на ClickHouse AWS Glue Connector в AWS Marketplace. -
Предоставьте необходимые разрешения
Убедитесь, что роль IAM вашего задания Glue имеет необходимые разрешения, как описано в руководстве по минимальным привилегиям здесь. -
Активируйте коннектор и создайте подключение
Вы можете активировать коннектор и создать подключение напрямую, нажав эту ссылку, которая откроет страницу создания подключения Glue с заранее заполненными ключевыми полями. Задайте подключению имя и нажмите кнопкуCreate(на этом этапе нет необходимости указывать параметры подключения к ClickHouse). -
Использование в задании Glue
В вашем задании Glue выберите вкладкуJob detailsи разверните окноAdvanced properties. В разделеConnectionsвыберите только что созданное подключение. Коннектор автоматически добавит необходимые JAR‑файлы в среду выполнения задания.

Примечание
JAR‑файлы, используемые в коннекторе Glue, собраны для Spark 3.3, Scala 2 и Python 3. Убедитесь, что вы выбираете эти версии при настройке вашего задания Glue.
Чтобы добавить необходимые JAR‑файлы вручную, выполните следующее:
- Загрузите следующие JAR‑файлы в бакет S3:
clickhouse-jdbc-0.6.X-all.jarиclickhouse-spark-runtime-3.X_2.X-0.8.X.jar. - Убедитесь, что задание Glue имеет доступ к этому бакету.
- На вкладке
Job detailsпролистайте вниз, разверните выпадающий списокAdvanced propertiesи укажите путь к JAR‑файлам в полеDependent JARs path:

Примеры
- Scala
- Python
Подробности см. в нашей документации по Spark.