Shuffle 操作会导致网络 I/O,增加计算延迟。为了减少 shuffle 操作,应该尽量避免以下场景:
-
不必要的 groupBy:只有在需要进行聚合或分组时,才进行
groupBy
操作。 -
避免多次 shuffle:可以通过调整作业中的计算顺序或使用
coalesce()
将多个分区合并成一个,减少 shuffle 操作。 - 缓存中间结果:对于需要多次 shuffle 的中间结果,可以考虑缓存它们,以避免多次计算。
2024-12-14 07:09:38
Shuffle 操作会导致网络 I/O,增加计算延迟。为了减少 shuffle 操作,应该尽量避免以下场景:
groupBy
操作。coalesce()
将多个分区合并成一个,减少 shuffle 操作。