Перейти к основному содержанию
JDBC — один из самых распространённых источников данных в Spark. В этом разделе мы подробно рассмотрим, как использовать официальный коннектор JDBC для ClickHouse со Spark.

Чтение данных

Запись данных

Параллелизм

При использовании Spark JDBC Spark читает данные, используя одну партицию. Чтобы добиться более высокого параллелизма, необходимо указать partitionColumn, lowerBound, upperBound и numPartitions, которые задают, как разбивать таблицу на партиции при параллельном чтении несколькими воркерами. Подробнее см. в официальной документации Apache Spark по настройкам JDBC.

Ограничения JDBC

  • Spark JDBC не поддерживает сложные типы (MAP, ARRAY, STRUCT) из-за отсутствия диалекта ClickHouse — для полной поддержки сложных типов используйте нативный коннектор Spark-ClickHouse.
  • На данный момент с помощью JDBC можно выполнять вставку данных только в существующие таблицы (сейчас нет возможности автоматически создавать таблицу при вставке из DF, как это Spark делает с другими коннекторами).
Последнее изменение 2 июля 2026 г.