iannamkr / TIL

Today I Learn
4 stars 0 forks source link

[Spark] Adaptive Query Execution #12

Open iannamkr opened 10 months ago

iannamkr commented 10 months ago
  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으로 분할하여 나눈다.