在 Spark 中指定 Dataframe 连接的任务数
Hot to specify number of tasks for a Dataframe join in Spark
我从 SQL 数据库中读取了 2 个数据帧,它们都有 10 个任务。
然后,当我用 df1.join(df2)
加入他们时,它为加入操作创建了 200 个任务,我不明白为什么是 200 个任务,我该如何更改它?
例如,在使用 rdd
s 时,join
等方法采用 [numTasks]
参数,但我在这里找不到等效项。有什么原因吗?
您必须将 spark.sql.shuffle.partitions
设置为另一个值,默认值为 200,请参阅 https://spark.apache.org/docs/latest/sql-programming-guide.html#other-configuration-options
请注意,在进行广播连接时没有任何效果。如果更改此值,这也会影响聚合时的任务数。
我从 SQL 数据库中读取了 2 个数据帧,它们都有 10 个任务。
然后,当我用 df1.join(df2)
加入他们时,它为加入操作创建了 200 个任务,我不明白为什么是 200 个任务,我该如何更改它?
例如,在使用 rdd
s 时,join
等方法采用 [numTasks]
参数,但我在这里找不到等效项。有什么原因吗?
您必须将 spark.sql.shuffle.partitions
设置为另一个值,默认值为 200,请参阅 https://spark.apache.org/docs/latest/sql-programming-guide.html#other-configuration-options
请注意,在进行广播连接时没有任何效果。如果更改此值,这也会影响聚合时的任务数。