반응형

AQE 3

[Databricks] 데이터 스큐(Data Skewness) — 원인 파악과 해결 방법 완벽 가이드

📌 데이터 스큐(Data Skewness) — 원인 파악과 해결 방법 완벽 가이드데이터 스큐(Data Skew)란 데이터 분포가 균일하지 않아 소수의 CPU 코어에 엄청난 양의 데이터 처리가 몰리는 현상을 말합니다. 예를 들어, 데이터가 한쪽으로 심하게 쏠려 있는 컬럼을 기준으로 조인(Join)이나 집계(Aggregation)를 수행하게 되면 셔플(Shuffle) 단계에서 스큐가 발생합니다. 이로 인해 작업이 완료되는 데 아주 오랜 시간이 걸리거나, 여러 번의 재시도 끝에 결국 작업이 실패해버릴 수도 있습니다. 🔍 데이터 스큐 현상 식별하기 (Identification)스큐가 발생했는지 확인하는 방법은 다음과 같습니다.태스크 지연 확인: 셔플 단계의 Spark 태스크들이 대부분 완료되었는데, 한두 개..

[Databricks] 데이터 스필(Spill) 완벽 가이드: 원인부터 수동 튜닝까지

데이터 스필(Data Spilling) — 발생 원인과 해결책데이터 스필은 Spark 작업(Task)이 처리해야 할 데이터 양이 할당된 메모리보다 클 때 발생합니다. 메모리가 부족해지면 Spark는 남은 데이터를 디스크로 밀어내는데, 이 과정에서 직렬화(Serialization), 디스크 I/O, 역직렬화가 동반되어 성능이 급격히 저하됩니다.스필을 막기 위한 핵심: 셔플 파티션 튜닝Spark SQL의 기본 셔플 파티션 개수는 200개입니다. 하지만 데이터 규모에 따라 이 숫자가 너무 작으면 개별 코어가 감당해야 할 데이터가 너무 커져 스필이 발생합니다. 1. AQE 자동 튜닝 (AOS)데이터브릭스의 Spark AQE에는 적절한 셔플 파티션 개수를 자동으로 찾아주는 AOS(Auto Optimize Shuf..

[Databricks] 데이터 셔플 완벽 가이드: 발생 원인부터 제어 전략까지

[Databricks] 데이터 셔플 완벽 가이드: 발생 원인과 제어 전략데이터브릭스 환경에서 쿼리 성능이 저하되는 가장 큰 원인 중 하나는 바로 데이터 셔플(Data Shuffle)입니다. 오늘은 셔플이 왜 발생하는지, 그리고 이를 최적화하기 위한 핵심 전략인 브로드캐스트 해시 조인(Broadcast Hash Join)에 대해 심층적으로 알아보겠습니다.데이터 셔플이란 무엇인가?데이터 셔플은 조인(Join), 집계(Aggregation), 윈도우 함수(Window operations)와 같은 와이드 트랜스포메이션(Wide Transformation) 시에 발생합니다. 워커 노드 간에 네트워크를 통해 데이터를 주고받는 과정이 포함되기 때문에 비용이 매우 많이 들고 속도가 느려지는 원인이 됩니다. 1. 브로..

반응형