设置同一spark作业中每个shuffle的shuffle分区数

xesrikrc  于 2021-07-12  发布在  Spark
关注(0)|答案(1)|浏览(366)

在同一个spark应用程序或甚至同一个作业中,是否有一种方法可以为每个shuffle指定不同数量的shuffle分区,而不是为所有应用程序指定全局数量的shuffle分区?
换句话说,你可以

spark.sql.shuffle.partitions

是否为每个涉及洗牌的Dataframe转换动态设置不同的值?
这适用于这样一个场景:作业是一个大的dag,一些无序输出可能很小,而另一些则非常大。
谢谢!

vtwuwzda

vtwuwzda1#

你当然可以。
发出命令 sqlContext.setConf("spark.sql.shuffle.partitions", "nnn") 在联接或聚合之前。但对查询的广播哈希连接方面没有影响。
试试看。

相关问题