참고 문서


spark patition 이란?

partition은 rdds나 dataset을 구성하고 있는 최소단위 객체. 각 파티션은 서로 다른 노드에서 분산처리 된다.

스파크의 성능과 리소스 점유량을 크게 좌우할 수 있는 RDD의 가장 기본적인 개념입니다.

데이터 파티셔닝은 데이터르 ㄹ여러 클러스터 노드로 분할하는 메커니즘을 의미합니다.

각 파티션은 서로 다르 ㄴ노드에서 분산 처리된다.

1 core = 1 task = 1 partition

스파크에서 하나의 최소 연산을 task라고 표현하는데 이 하나의 task에서 하나의 partition이 처리된다.

또한 하나의 task는 하나의 core가 연산 처리 한다.

이 파티션의 크기가 결국 core 당 필요한 메모리 크기를 결정한다.

파티션의 크기와 수가 스파크 성능에 큰 영향을 미치는데 통상적으로는 파티션의 크기가 클 수록 메모리가 더 필요하고, 파티션의 수가 많을 수록 코어가 더 필요하다.