Page 16 -
P. 16
1.1.1 스파크가 가져온 혁명
지난 10년간 하둡이 널리 보급되었다고 하둡에 단점이 없는 것은 아니다. 하둡은 강력하지만, 처
리 속도는 다소 느릴 수 있다. 이러한 하둡의 단점은 같은 문제를 하둡보다 더 효율적으로 해결할
수 있는 새로운 기술, 즉 스파크가 등장하는 계기를 마련했다. 이 절에서는 하둡의 단점과 이것을
해결하는 스파크의 해법을 구체적으로 설명한다.
HDFS와 맵리듀스 처리 엔진으로 구성된 하둡 프레임워크는 분산 컴퓨팅을 최초로 대중화하는
데 성공했다. 하둡은 데이터 분산 처리에서 반드시 고민해야 하는 다음 세 가지 주요 문제를 해결
했다.
● 병렬 처리(parallelization): 전체 연산을 잘게 나누어 동시에 처리하는 방법
● 데이터 분산(distribution): 데이터를 여러 노드로 분산하는 방법
● 장애 내성(fault tolerance): 분산 컴포넌트의 장애에 대응하는 방법
Note 자세한 맵리듀스 설명은 부록 B를 참고하자.
또 하둡 클러스터는 상용(commodity) 하드웨어를 사용해 비교적 손쉽게 구축할 수 있다. 이것이
바로 지난 10년간 하둡이 널리 보급될 수 있었던 비결이다.
1.1.2 맵리듀스의 한계
하둡이 빅데이터 혁명의 토대를 이루며 현재까지도 활발하게 사용되고 있지만, 여전히 여러 한계
점을 가지고 있으며 이는 주로 맵리듀스 컴포넌트와 관련이 있다. 맵리듀스 잡의 결과를 다른 잡
에서 사용하려면 먼저 이 결과를 HDFS에 저장해야 한다. 따라서 맵리듀스는 이전 잡의 결과가
다음 작업의 입력이 되는 반복 알고리즘에는 본질적으로 맞지 않다.
많은 유형의 문제가 맵리듀스 2단계 패러다임에 쉽게 들어맞지 않으며, 모든 문제를 일련의 맵과
리듀스 연산으로 분해할 수는 없다. 일부 문제에서 맵리듀스 API를 사용하기 다소 어려울 때도
많다.
하둡이 다소 좁은 범위의 하위 레벨 프레임워크이기 때문에 데이터 내보내기나 가져오기 도구, 데
이터를 조작하는 상위 레벨 언어나 프레임워크, 실시간 처리 도구 등 하둡 주변 도구가 우후죽순
032
spark_08.indd 32 2018-05-08 오후 6:26:10