shuffle partition
challenge: query가 실행되는 시점에 데이터의 변경으로 인하여 partition 번호가 달라질 수 있으므로, 미리 번호를 할당할 수 없다
solution: 미리 충분히 많은 partition 번호를 설정하고, coalesce를 통해 자동으로 파티션을 병합시킨다.
join strategy
challenge: 때때로 join strategy를 잘못 예측하여 broadcast join 을 수행하지 않는다. e.g) 데이터 사이즈가 broadcast 설정값을 초과
solution: 런타임에 데이터의 크기를 파악하여 join strategy를 재설정
skew join
challenge: 데이터의 skew는 performance에 부정적인 영향을 끼친다.
solution: 런타임에 partition의 skewness를 판단하고, 이를 작은 크기의 하위 partition으로 분할하여 나눈다.
shuffle partition challenge: query가 실행되는 시점에 데이터의 변경으로 인하여 partition 번호가 달라질 수 있으므로, 미리 번호를 할당할 수 없다 solution: 미리 충분히 많은 partition 번호를 설정하고, coalesce를 통해 자동으로 파티션을 병합시킨다.
join strategy challenge: 때때로 join strategy를 잘못 예측하여 broadcast join 을 수행하지 않는다. e.g) 데이터 사이즈가 broadcast 설정값을 초과 solution: 런타임에 데이터의 크기를 파악하여 join strategy를 재설정
skew join challenge: 데이터의 skew는 performance에 부정적인 영향을 끼친다. solution: 런타임에 partition의 skewness를 판단하고, 이를 작은 크기의 하위 partition으로 분할하여 나눈다.