Таким образом, при использовании вышеуказанного метода используется одно соединение JDB C для переноса таблицы в среду Spark. И если вы хотите использовать предикат pu sh down в запросе, вы можете использовать это следующим образом.
val pushdown_query = "(select * from employees where emp_no < 10008) emp_alias"
val df = spark.read.jdbc(url=jdbcUrl, table=pushdown_query,
properties=connectionProperties)
display(df)
Если вы хотите повысить производительность, вам нужно управлять параллелизмом во время чтения. Вы можете указать границы разделения на основе значений столбца набора данных.
Эти параметры определяют параллелизм при чтении. Все эти параметры должны быть указаны, если указан какой-либо из них. lowerBound и upperBound определяют шаг раздела, но не фильтруют строки в таблице. Таким образом, Spark разбивает и возвращает все строки в таблице.
В следующем примере таблица, прочитанная между исполнителями в столбце emp_no, разбивается с использованием параметров columnName, lowerBound, upperBound и numPartitions.
val df = (spark.read.jdbc(url=jdbcUrl,
table="employees",
columnName="emp_no",
lowerBound=1L,
upperBound=100000L,
numPartitions=100,
connectionProperties=connectionProperties))
display(df)
Для получения дополнительной информации: используйте эту ссылку