无法减少Pyspark中的任务数量

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

我无法减少任务数量。 Spark始终在UI中显示200个任务。我不确定,但这是因为读取数据时默认的最小分区吗?我在下面提到的命令中尝试了所有参数,例如numPartitions,partitions,minPartitions,但是它们都不起作用,并引发诸如TypeError的错误:csv()得到了意外的关键字参数'partitions'。我正在使用spark2。请协助。抱歉,我无法格式化下面提到的代码。

df_ord = spark.read.csv(props.get(env, 'input.dir') + "/orders", header=False,inferSchema=True,**numPartitions=10**) \
              .toDF("ord_id", "ord_dt", "cust_id", "ord_status")
apache-spark pyspark
1个回答
0
投票

Spark具有默认属性spark.sql.shuffle.partitions,它负责分区。默认值为200,这就是为什么您在UI上看到200个分区的原因。

要更改此设置,您可以在提交作业或使用以下命令时传递conf

spark.conf.set("spark.sql.shuffle.partitions", 100)

或者,您可以根据需要使用重新分区或合并来减少分区数。

参考:https://spark.apache.org/docs/latest/sql-performance-tuning.html

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