为什么在使用 SPARK 从 SQL-Server 读取期间触发单个任务

问题描述 投票:0回答:1

我正在尝试使用 pyspark 从 sqlserver 读取数据集。我在下面提到了创建多个分区以实现并行化的参数。我可以看到创建了 n 个分区,但只执行了单个任务来检索结果。 SQL 服务器读取不是并行发生的。不确定我到底在哪里做错了。我可以看到谓词是基于上限和下限创建的。

我尝试使用以下选项:

.option("lowerBound", '<value>') \
.option("upperBound", '<value>') \
.option("partitionColumn", "<column name>") \
.option("numPartitions", <value>) \
.option("fetchsize", <value>).load()

我的集群是: 2-3 名工人:32-48 GB 内存 8-12 核 1个驱动:16GB内存,4核 运行时:10.4.x-scala2.12

Date and Timestamps columns are supported as partition column

apache-spark pyspark databricks azure-databricks
1个回答
0
投票

为了并行化这个操作,你用于拆分的列必须是整数数据类型,这样 spark 就可以有一个确定范围的值作为键提供给每个工人。

© www.soinside.com 2019 - 2024. All rights reserved.