Это подробно описано на странице документации JDB C К другим базам данных источников данных.
Короче говоря, каждый узел, участвующий в задании, устанавливает sh a подключение к базе данных. Однако не число узлов определяет количество подключений, а настроенное количество разделов:
numPartitions
: максимальное количество разделов, которое можно использовать для параллелизма при чтении таблицы и писать. Это также определяет максимальное количество одновременных соединений JDB C . Если число записываемых разделов превышает это ограничение, мы уменьшаем его до этого ограничения, вызывая coalesce (numPartitions) перед записью.
А что касается
Пакет JDB C использует объединенные соединения, чтобы избежать повторного подключения. Но это не решает эту проблему.
JDB C драйверы не подразумевают пул соединений. Приложение устанавливает, настраивает и использует пул соединений. Если Spark не требуется повторно подключаться к базе данных для получения данных, ему не нужно устанавливать sh несколько подключений на раздел. Таким образом, пул соединений не понадобится.
На странице связанной документации есть список опций, которые приложения могут использовать для управления способом извлечения данных из базы данных.