我想使用Spark的JDBC API从数据库中读取数据。我将使用200个执行程序来读取数据。
我的问题是,如果我提供了200个执行程序,那么它是否会创建200个与集中式数据库(JDBC)的连接,还是会通过单个连接从驱动程序获取数据?
答案 0 :(得分:-2)
建立连接spark.read.jdbc...
后,您可以指定numPartitions
参数。这管理了可以创建多少并行连接的最大限制。
表读取和写入中可用于并行的最大分区数。这也决定了最大数量 并发JDBC连接。如果要写的分区数 超过此限制,我们通过调用将其减少到此限制 在写作之前合并(numPartitions)。
但是,默认情况下,您将数据读取到通常无法充分利用SQL数据库的单个分区。