我需要spark.sql.shuffle.partitions
在我的 spark 作业执行期间动态设置。最初,它是在开始工作时设置的,但经过各种聚合后,我需要一遍又一遍地减少它。
然而,催化剂倾向于将这种情况向后推(进入更早的操作)——即使我不希望它发生。我目前的解决方法是使用打破催化剂谱系的检查点。但是检查点 1) 写入磁盘 2) 需要缓存之前的操作,否则会重新计算。这意味着如果数据对于内存来说太大,我需要缓存和检查点,即写入磁盘两次。
显然,这很慢并且不太理想。有没有另一种方法告诉催化剂在我真正希望它发生在谱系中的点之前不要应用降低的并行性?