在将数据从另一个分区表写入分区表时避免shuffle



我正在尝试从分区的增量表中读取,执行一些狭窄的转换,并将其写入在相同字段上分区的新增量表中。

Table A (partitioned on col1, col2) -> Table B (partitioned on col1, col2)

由于分区策略是相同的,并且没有广泛的转换,我的假设是这里不需要shuffle

我是否需要在读取或写入时指定一些特殊选项以确保不会触发shuffle操作?

我试图正常读取数据并使用df_B.write.partitionBy("col1", "col2")...将其写回,但shuffle似乎仍然是瓶颈

我明白了。我看到了一次洗牌,因为增量表的属性spark.databricks.delta.optimizeWrite.enabled。现在可能不需要这样做,因为源和目标的分区策略现在是相同的。

最新更新