在同一个spark应用程序或甚至同一个作业中,是否有一种方法可以为每个shuffle指定不同数量的shuffle分区,而不是为所有应用程序指定全局数量的shuffle分区?
换句话说,你可以
spark.sql.shuffle.partitions
是否为每个涉及洗牌的Dataframe转换动态设置不同的值?
这适用于这样一个场景:作业是一个大的dag,一些无序输出可能很小,而另一些则非常大。
谢谢!
在同一个spark应用程序或甚至同一个作业中,是否有一种方法可以为每个shuffle指定不同数量的shuffle分区,而不是为所有应用程序指定全局数量的shuffle分区?
换句话说,你可以
spark.sql.shuffle.partitions
是否为每个涉及洗牌的Dataframe转换动态设置不同的值?
这适用于这样一个场景:作业是一个大的dag,一些无序输出可能很小,而另一些则非常大。
谢谢!
1条答案
按热度按时间vtwuwzda1#
你当然可以。
发出命令
sqlContext.setConf("spark.sql.shuffle.partitions", "nnn")
在联接或聚合之前。但对查询的广播哈希连接方面没有影响。试试看。