How do we rebalance a dataset into 200 uniform partitions hashed by customer_id to eliminate data skew?
repartition(numPartitions, *cols) performs a full cluster shuffle to evenly redistribute records.
Eliminating data skew, increasing parallelism before heavy joins, and balancing executor workloads.
df_repartitioned = df.repartition(200, "customer_id")Practice typing production-grade PySpark code for Reshuffling Partitions with repartition().