- 하나의 RDD에 속한 요소를 작은 단위로 Partition이라고 한다. 작업을 수행할 때 여러 분산 클러스터로부터 Partition 단위로 나뉘어서 병렬로 처리한다.
- 만들어진 Partition은 작업이 진행되는 과정에서 재구성되거나 네트워크를 통해 다른 서버로 이동하는데 Shuffling이 발생함
- 이런 Shuffling은 전체 작업 성능에 큰 영항을 주기 때문에 셔플링이 발생하는 주요 연산마다 Partition의 개수를 직접 지정할 수 있는 옵션을 제공
- 하나의 RDD가 여러 Partition으로부터 나눠져 다수의 클러스터에 처리되다 보니 작업 도중 일부 Partition 장애가 발생하여 데이터 유실이 생김
- Spark는 손상된 RDD를 원래 상태로 다시 복원하기 위해 RDD 생성 과정을 기록해 뒀다가 다시 복구해 주는 기능이 있음
- Partition의 수는 데이터를 처리하는 병렬 프로세스의 수이다.
- 하나의 데이터를 잘개 쪼개어 여러 Partition을 만들어 여러 프로세스에서 동시에 작업을 처리해 처리 속도가 증가할 수 있지만 너무 많은 Partition은 전체 성능을 떨어트릴 수 있는 요인이 됨