더북(TheBook)

6.5 요약

 

스파크 스트리밍은 미니배치 개념을 이용해 스파크의 일괄 처리 기능을 실시간 데이터에 적용했다.

스파크 스트리밍은 파일 시스템과 TCP/IP 소켓 커넥션에서 데이터를 읽어 들일 수 있다. 또 카프카, 플럼, 트위터, 아마존 Kinesis 같은 외부 분산 시스템의 데이터를 가져올 수 있다.

미니배치 주기는 스파크 스트리밍 컨텍스트를 초기화할 때 설정한다. 이 주기는 입력 데이터를 분리해 RDD에 담는 시간 간격을 지정한다. 미니배치 주기는 시스템 성능에도 큰 영향을 미친다.

DStream(Discretized Stream)은 스파크 스트리밍의 기본 추상화 객체로, 입력 데이터 스트림에서 주기적으로 생성되는 일련의 RDD 시퀀스를 표현한다. DStream은 스파크 스트리밍 프로그램을 작성하는 데 반드시 필요하다.

DStream은 이산 스트림을 다른 DStream으로 변환할 수 있는 다양한 메서드를 제공한다. 이 메서드들을 사용해 DStream의 RDD 데이터에 필터링, 매핑, 리듀스 연산을 적용할 수 있다. DStream 데이터를 다른 DStream과 결합하거나 조인할 수도 있다.

DStreamsaveAsTextFiles 메서드는 접두 문자열(필수 인수)과 접미 문자열(선택 인수)을 받아 데이터를 주기적으로 저장할 경로를 구성한다. 이 메서드를 사용해 DStream을 계산한 결과를 파일 시스템에 저장할 수 있다.

updateStateByKeymapWithState 메서드를 사용해 과거 계산 상태를 현재 계산에 반영할 수 있다.

mapWithState 메서드는 updateStateByKey와 달리 상태 값의 타입과 반환 값의 타입을 다르게 적용할 수 있다. updateStateByKey보다 더 좋은 성능을 보인다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.