Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[fix](local shuffle) Fix bucket local shuffle (#44459)
Data in different buckets should be distributed into all tasks after bucket-hash local exchange. Before: ``` ┌─────────────────────────────────────────┐ │ ┌─────────┐ ┌───────────────────────┐ │ │ │Bucket 0 │ │ │ │ │ └─────────┘ │ │ │ │ │ LOCAL EXCHANGE SOURCE │ │ ┌──────► ┌─────────┐ │ (BUCKET HASH) │ │ │ │ │Bucket 1 │ │ │ │ │ │ └─────────┘ └───────────────────────┘ │ │ └─────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────┐ │ │ ┌─────────┐ ┌───────┐ ┌─────────────────────┐ │ │ │ │Bucket 0 │ │ │ │ │ │ │ │ └─────────┘ │ │ │ │ │ │ │ │ SCAN │ │ LOCAL EXCHANGE SINK │ ├────────┤ │ ┌─────────┐ │ │ │ (BUCKET HASH) │ │ │ │ │Bucket 1 │ │ │ │ │ │ │ │ └─────────┘ └───────┘ └─────────────────────┘ │ │ └─────────────────────────────────────────────────────┘ │ ┌─────────────────────────────────────────┐ │ │ ┌───────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ LOCAL EXCHANGE SOURCE │ │ └──────► │ (BUCKET HASH) │ │ │ │ │ │ │ └───────────────────────┘ │ └─────────────────────────────────────────┘ ``` After ``` ┌─────────────────────────────────────────┐ │ ┌─────────┐ ┌───────────────────────┐ │ │ │Bucket 0 │ │ │ │ │ └─────────┘ │ │ │ │ │ LOCAL EXCHANGE SOURCE │ │ ┌──────► │ (BUCKET HASH) │ │ │ │ │ │ │ │ │ └───────────────────────┘ │ │ └─────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────┐ │ │ ┌─────────┐ ┌───────┐ ┌─────────────────────┐ │ │ │ │Bucket 0 │ │ │ │ │ │ │ │ └─────────┘ │ │ │ │ │ │ │ │ SCAN │ │ LOCAL EXCHANGE SINK │ ├────────┤ │ ┌─────────┐ │ │ │ (BUCKET HASH) │ │ │ │ │Bucket 1 │ │ │ │ │ │ │ │ └─────────┘ └───────┘ └─────────────────────┘ │ │ └─────────────────────────────────────────────────────┘ │ ┌─────────────────────────────────────────┐ │ │ ┌───────────────────────┐ │ │ │ │ │ │ │ │ ┌─────────┐ │ │ │ │ │ │Bucket 1 │ │ LOCAL EXCHANGE SOURCE │ │ └──────► └─────────┘ │ (BUCKET HASH) │ │ │ │ │ │ │ └───────────────────────┘ │ └─────────────────────────────────────────┘ ```
- Loading branch information