더북(TheBook)

그림 6-1에서 볼 수 있듯이 다양한 외부 시스템 데이터를 스파크 스트리밍 잡으로 입수할 수 있다. 여기서 말하는 외부 시스템은 단순한 파일 시스템이나 TCP/IP 접속 이외에도 카프카, 플럼, 트위터, 아마존 Kinesis 같은 분산 시스템을 의미한다. 스파크 스트리밍은 각 데이터 소스별로 별도의 리시버를 제공한다(일부 데이터 소스는 리시버 없이도 데이터를 입수할 수 있지만, 복잡한 세부 내용은 나중에 살펴보자). 각 리시버에는 해당 데이터 소스에 연결하고 데이터를 읽어 들여 스파크 스트리밍에 전달하는 로직이 구현되어 있다. 스파크 스트리밍은 리시버가 읽어 들인 데이터를 미니배치 RDD로 (주기당 하나씩) 분할하며, 스파크 애플리케이션은 이 미니배치 RDD를 애플리케이션에 구현된 로직에 따라 처리한다. 미니배치를 처리하는 로직에는 머신 러닝이나 SQL 같은 스파크 API의 모든 기능을 자유롭게 적용할 수 있다. 미니배치를 처리한 결과는 파일 시스템이나 관계형 데이터베이스 또는 다른 분산 시스템으로 내보낼 수 있다.

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