안녕하세요! 여러분의 스파크 가이드, 팬돌프입니다.지난 시간까지 우리는 Spark SQL과 집계 함수를 이용해 데이터를 마음껏 주물러 보았습니다. 로컬에서 작은 데이터로 연습할 때는 1초 만에 결과가 나왔을 겁니다.하지만 회사에 가서 수 테라바이트의 데이터를 돌려보는 순간, 당황스러운 상황을 마주하게 됩니다. "어? 로컬에선 잘 되던 코드가 왜 이렇게 느리지? 왜 자꾸 멈추지?"이유는 단 하나, 여러분이 작성한 코드가 클러스터 내부에서 어떻게 쪼개져서 실행되는지 몰랐기 때문입니다. 오늘은 스파크 성능의 핵심이자, 튜닝을 위해 반드시 알아야 할 내부 아키텍처(Job, Stage, Task)와 공포의 대상인 셔플링(Shuffling)에 대해 파헤쳐 보겠습니다.1. 스파크의 작업 계층: Job > Stage ..