Spark 파티셔닝과 데이터 정확도 우선
대규모 병렬 처리 엔진을 사용할 때 데이터 정확도 보장을 가장 중점적으로 고려합니다. 처리 속도를 높이는 것만큼, 처리 결과가 신뢰할 수 있어야 이후 분석과 의사결정이 가능하기 때문입니다. Spark를 사용할 때는 파티션 수와 크기의 균형이 핵심이고, 스큐가 심한 키가 있으면 Salt 기법으로 분산해 특정 파티션에 부하가 몰리는 현상을 방지합니다.
성능 최적화 관점에서는 셔플 연산을 최소화하기 위해 조인 순서를 작은 테이블 기준으로 조정하고, 브로드캐스트 조인을 적극 활용합니다. 데이터 정확도는 처리 전후 행 수·합계 값·Null 비율을 자동으로 비교하는 검증 스텝을 파이프라인에 포함시킵니다.
병렬 처리의 한계로는 순서 의존적인 연산에서 병렬화가 불가능하다는 점을 인식하고, 이런 경우 단계를 분리해 설계합니다. 이 원칙으로 처리 속도와 정확도를 동시에 확보하는 파이프라인을 반복 구축했습니다.