728x90
반응형
SMALL
16주차 수요일, 68일차 Today I Learned
Spark Partition
✏️ 학습 내용
1. Salting을 통한 Data Skew 처리
AQE가 나오기 전 data skew 처리 방식 중의 하나는 Salting이었다. 클러스터 자원과 처리 데이터의 크기를 고려해서 JOB마다 바꿔서 설정했다.
Salting이란 Skew Partition을 처리하기 위한 테크닉으로, 균등하게 분포된 랜덤 필드를 만들고 그 기준으로 파티션을 새로 만들어서 파티션의 크기가 균등하도록 처리하는 방식이다. AQE의 등장으로 인해 그렇게 많이 쓰이지 않고 있다.
Spill이란 파티션의 크기가 너무 커서 메모리가 부족한 경우 그 여분의 디스크에 쓰는 것이다.
2. Spark 최적화
파티션 종류 3가지 :
- 데이터프레임 로딩 시
- 데이터프레임 오퍼레이션 통해서
- 최종 결과 데이터프레임 저장 시
반응형
💡 배운 점
- Salting을 통한 Data Skew 처리에 대해 배웠다.
- All about Partitions
☁️ 소감
Spark에서는 병렬 처리가 핵심이 되다 보니까 파티션 얘기가 많이 나올 수 밖에 없는 것 같다.
728x90
반응형
LIST
'Data Engineering > grepp 데브코스 : TIL' 카테고리의 다른 글
[TIL_2024.02.09] Spark ML (2) : ML Pipeline과 Tuning (0) | 2024.02.27 |
---|---|
[TIL_2024.02.08] Spark ML (1) : 소개 및 기능, 모델 빌딩, 피쳐 변환, 파이프라인 (0) | 2024.02.27 |
[TIL_2024.02.06] Spark Shuffling 최적화 (1) | 2024.02.27 |
[TIL_2024.02.05] Spark 기타 기능, 메모리 관리 (1) | 2024.02.27 |
[TIL_2024.01.29-02.02] 머신러닝 : ML E2E, 기초개념, 기초선형대수, 확률기초/분포, 선형회귀/분포 (0) | 2024.02.26 |