PySpark Broadcast Timeout
PySpark Broadcast Timeout
PySpark Broadcast Timeout
- PySpark에서 broadcast join을 실행하는데, 주어진 제한 시간보다 오래 걸릴때 다음과 같은 에러가 발생
could not execute broadcast in 300 secs
와 같은 문구가 나오면서 중단됨- 위와 같은 에러 문구가 제대로 나오지 않을 수도 있음! 주의할 것
- 해결책은 간단함. spark.sql.broadcastTimeout 값을 300보다 늘려주면 됨
- 단순히 시간이 오래 걸리는 쿼리였다면, 이 방법으로 해결됨
- 그러나 테이블이 너무 큰 경우, 이 방법으로도 근본적인 해결이 되지 않을 수 있음
- 이 경우 broadcast join을 사용하지 않는 방법을 통해 해결함
References
- https://spark.apache.org/docs/latest/sql-performance-tuning.html
- https://jaemunbro.medium.com/spark-troubleshooting-cheatsheet-%EC%8A%A4%ED%8C%8C%ED%81%AC-%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85-%EA%B0%80%EC%9D%B4%EB%93%9C-2dc2418b7623