Spark가 뭐죠?
Spark는 클러스터 컴퓨팅을 위한 플랫폼입니다. Spark를 사용하면 여러 개의 노드로 이루어진 클러스터에 데이터와 연산을 분산할 수 있어요(각 노드는 별도의 컴퓨터라고 생각하시면 됩니다). 데이터를 나누면 각 노드가 적은 양의 데이터만 처리하므로, 아주 큰 데이터셋도 더 쉽게 다룰 수 있습니다.
각 노드는 전체 데이터의 일부를 처리하면서 필요한 계산의 일부도 수행하므로, 클러스터의 노드들에서 데이터 처리와 계산이 병렬로 진행됩니다. 병렬 계산은 특정 유형의 프로그래밍 작업을 훨씬 빠르게 만들어 줄 수 있다는 점은 분명한 사실입니다.
하지만 계산 능력이 커질수록 복잡성도 함께 증가합니다.
Spark가 내 문제에 가장 적합한 해법인지 판단하려면 경험이 필요하지만, 다음과 같은 질문을 스스로에게 던져볼 수 있습니다.
- 단일 머신으로는 다루기 어려울 만큼 데이터가 큰가요?
- 내 계산이 쉽게 병렬화될 수 있나요?
Spark를 더 배울 준비되셨나요?
이 연습은 강의의 일부입니다
