We-Co

[We-Co] Spark Streaming 본문

Spark

[We-Co] Spark Streaming

위기의코딩맨 2021. 9. 16. 12:00
반응형

안녕하세요. 오늘은 Spark Streaming에 대해서 간단하게 알아보도록 하겠습니다.

 

출처[https://medium.com/expedia-group-tech/operationalizing-spark-streaming-part-1-ecc544120479]

[ Spark Streaming ]

지금까지 공부해온 Spark는 주어진 데이터를 읽고 처리하는 과정을 보여줬는데

Spark Streaming은 이 과정을 포함하고, 시간의 흐름에 따른 변화하는 데이터를 다루는 과정도 포함됩니다.

 

시간의 흐름의 변화라는 것은 과거에 해당하는 고정된 데이터를 사용하는 것이 아닌 

현재와 미래에 생성되는 지속적으로 변화하는 데이터를 의미합니다.

 

많은 데이터 처리 방식은 일상적으로 배치처리를 진행합니다.

배치처리를 진행하는 작업들의 특징은 데이터 크기가 크고, 작업 시간도 오래걸리며,

작업 도중 에러를 반환하더라도 재작업을 통한 동일한 결과물이 아웃풋으로 나와야하는 경우가 많습니다.

 

배치 처리의 대상이 되는 일반적인 데이터들은 특정한 시간, 크기 단위의 일정한 주기에 반복되는 특징을 갖고있습니다.

보통 이러한 데이터를 생성하기 위해서는 생성 시점과 처리 시점이 어느정도 시간의 간격이 존재합니다.

 

그 간격이 짧을 수록 좋은 데이터들이 있습니다. 

네비게이션을 통한 교통체증 , 웹사이트에 대한 정보 추출 등 빨리 분석하고

결과물을 아웃풋이 사용자에게 제공되어야합니다. 

하지만 이러한 빠르게 아웃풋을 필요로하는 경우, 해당 데이터가 대용량 데이터일 경우,

데이터를 일반적인 관계형 데이터에서 신속하게 처리하기 힘든 경우가 발생할 수 있습니다.

 

Spark Streaming은 이러한 데이터를 처리하기 위한 Spark의 서브 모듈로,

실시간으로 변화하는 데이터를 보다 짧은 주기에 맞춰 신속하고 안정적으로 처리하는 기능을 제공하는

Spark 모듈입니다.

 

Streaming Data는 끊임없이 지속되는 데이터를 의미하는데

이러한 유형의 데이터는 생성과 처리의 간격이 매우 짧아 실시간 처리로 불리기도 합니다.

일반적으로 배치처리를 통해 이전 배치와 다음 배치의 데이터 크기를 최소화 하는 방식을 사용합니다.

 

Spark Streaming 역시 해당 방식을 사용하며,

각각 배치 작업 사이에 새로운 데이터를 하나의 RDD로 처리합니다.

또한, 지금까지 RDD는 데이터 소스로 생성, 처리를 진행했다면 

Spark Streaming에서는 일정한 주기에 따른 새로운 RDD를 읽고, 이전에 생성했던 RDD 처리 결과와 혼합하여

새로운 작업을 실행하는 과정을 반복하는 동작을 한다고 보면 됩니다.

 

 

오늘은 간단하게 Spark Streaming에 대해 알아보았습니다.

일정한 주기에 반복되며, 이전 RDD와 혼합하여 새로운 결과물을 실행하는 과정을 반복한다!

반응형

'Spark' 카테고리의 다른 글

[We-Co] Spark MLlib  (0) 2021.09.22
[We-Co] Structured Streaming - Spark  (0) 2021.09.22
[We-Co] Spark to_json(), from_json()  (0) 2021.09.15
[We-Co] Spark SQL API 메서드(3)  (0) 2021.09.14
[We-Co] Spark SQL API 메서드(2)  (0) 2021.09.13