티스토리 뷰
동일한 key 를 가진 튜플 데이터가 전부 같은 파티션, 재조정 작업 shuffle
https://velog.io/@anjinwoong/Spark-%ED%8C%8C%ED%8B%B0%EC%85%98%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C
spark.shuffle.service.enabled: true 설정시 활성화됨 -> 각 worker 노드별로 외부 셔플링 서버를 시작함.
spark.shffle.compress : 중간 파일의 압축 여부 지정 (기본 true)
spark.shuffle.spill.batchSize : 데이터를 디스크로 내보낼 때 일괄 직렬화/역직렬화할 객체 개수 지정 (기본 1만개)
spark.shuffle.service.port : 외부 셔플링 서비스 활성화할 경우, 서비스 서버가 사용할 포트 지정 (기본 7337)
https://tech.kakao.com/2021/10/08/spark-shuffle-partition/
1 Core = 1 Task = 1 Partition
Partition -> 병렬화 수준을 높인다.
Input: spark.sql.files.maxpartitionBytes: default 128MB
Output: df.repartition(cnt), df.coalesce(cnt) 256MB
Shuffle: spark.sql.shuffle.partitions (join, group by) spill (100 ~ 200MB 최적)
쿼리는 최대한 groupBy로 집계를 한 후
Join을 하고
그다음에 Partition 수를 조절한 다음,
그래도 안된다면 Core 당 메모리를 증가시켜야 합니다.
Core 당 메모리를 증가시키는 것을 권장합니다. 보통 Shuffle Size가 600GB 이상이 되면 1 코어당 4GB를 고려하는 것을 권장합니다.
Cartesian join(cross join) 사용으로 Row 수가 급격하게 증가한 경우에도 Shuffle Size가 커지기 때문에 메모리 증가를 고려해야 합니다.
Shuffle Spill이 일어난다면 에러가 발생해 작업이 지연될 수 있습니다. 그리고 Hadoop 클러스터가 busy 상태인 경우, 연달아 에러가 발생하고 강제 종료될 수 있습니다.
메모리가 부족하다면, 우선적으로 Shuffle Partition 수를 고려해야 합니다.
Shuffle Partition의 크기를 100MB~200MB 사이로 나오도록 spark.sql.Shuffle.Partitions를 설정해야 합니다.
'공부' 카테고리의 다른 글
[Python] files in dir (0) | 2022.08.05 |
---|---|
[HBase] compaction (0) | 2022.08.05 |
[github] actions workflows `on.schedule.cron: * * * * *` delay (0) | 2022.07.31 |
[Python] pandas `csv` -> `parquet` (0) | 2022.07.31 |
[Java] pandas add filename column `df.withColumn("filename", input_file_name()) (0) | 2022.07.31 |
- Total
- Today
- Yesterday
- 유투브
- Bot
- 테슬라 리퍼럴 코드 생성
- 모델y
- Kluge
- 테슬라 리퍼럴 코드 혜택
- 테슬라 리퍼럴 코드
- 김달
- COUNT
- follower
- 팔로워 수 세기
- 모델 Y 레퍼럴
- 테슬라 레퍼럴
- 메디파크 내과 전문의 의학박사 김영수
- 테슬라 추천
- 연애학개론
- 테슬라 크레딧 사용
- 개리마커스
- wlw
- 어떻게 능력을 보여줄 것인가?
- 할인
- 클루지
- 인스타그램
- 책그림
- 테슬라 레퍼럴 코드 확인
- 테슬라
- 레퍼럴
- 테슬라 레퍼럴 적용 확인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |