364
3
부
스파크 스트리밍
지원하는 하드웨어가 상대적으로 느릴 경우 대규모 상태를 디스크로 쓰는 데 비용이 많이 들 수
있으며, 이는 하둡 분산 파일 시스템 (
HDFS
)을 백업 저장소로 사용할 때 흔히 있는 일이다.
HDFS
는 신뢰할 수 있는 파일시스템이며 자기 드라이브는 관리 가능한 비용으로 복제된 스토
리지를 제공한다는 점에서 가장 일반적인 체크포인트 사례라는 점을 주목하자.
체크포인팅은 신뢰할 수 있는 파일시스템에서 이상적으로 작동하여 장애가 발생할 경우 신뢰
할 수 있는 스토리지의 데이터를 읽어 스트림 상태를 신속하게 복구할 수 있어야 한다. 그러나
HDFS
에 대한 쓰기가 느릴 수 있다는 점을 고려할 때 체크포인팅이 주기적으로 더 많은 런타임,
어쩌면 배치 간격보다 더 많은 시간을 필요로 한다는 사실을 직시할 필요가 있다. 그리고 앞서
설명했듯이 배치 처리 시간이 배치 처리 간격보다 길다는 것은 문제가 될 수 있다.
24.5
체크포인트 튜닝
스파크 사용자 인터페이스 덕분에 체크포인팅이 필요하지 않은
RDD
에서 관찰한 배치 처리 시
간과 비교하여 체크포인팅을 포함하는 배치 간격 계산에 얼마나 더 많은 시간이 필요한지 평균
적으로 측정할 수 있다. 배치 처리 시간은 배치 간격 (분)에 대해 약
30
초라고 가정하자. 이것은
비교적 유리한 경우로, 배치 간격마다
30
초 밖에 컴퓨팅을 하지 않으며, 처리 시스템이 데이터
를 수신하면서 유휴 상태에 있는 동안
30
초의 ‘자유’ 시간을 갖는다.
주어진 애플리케이션 요건을 고려하여
5
분마다 체크포인트를 ...