Skip to content

[Spark] Adaptive Query Execution #12

Description

@iannamkr
  1. shuffle partition
    challenge: query가 실행되는 시점에 데이터의 변경으로 인하여 partition 번호가 달라질 수 있으므로, 미리 번호를 할당할 수 없다
    solution: 미리 충분히 많은 partition 번호를 설정하고, coalesce를 통해 자동으로 파티션을 병합시킨다.

  2. join strategy
    challenge: 때때로 join strategy를 잘못 예측하여 broadcast join 을 수행하지 않는다. e.g) 데이터 사이즈가 broadcast 설정값을 초과
    solution: 런타임에 데이터의 크기를 파악하여 join strategy를 재설정

  3. skew join
    challenge: 데이터의 skew는 performance에 부정적인 영향을 끼친다.
    solution: 런타임에 partition의 skewness를 판단하고, 이를 작은 크기의 하위 partition으로 분할하여 나눈다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions