인프런 커뮤니티 질문&답변

권지원님의 프로필 이미지
권지원

작성한 질문수

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

카프카 스트림즈 소개

스트림즈 DSL interval 기능

작성

·

140

0

안녕하세요 강사님

스트림즈DSL과 프로세서API 를 설명하는 부분에서 스트림즈 DSL이 일부기능을 지원하지 않는다고 하셨는데요

이중에서 스트림즈DSL에서는 인터벌마다 데이터를 처리하는 부분을 지원하지 않는다고 하셨는데요.

강의 후반에 나오는 window 프로세싱을 이용하면 인터벌 데이터 처리도 가능한게 아닐까 라는 생각이 드는데요, 맞을까요? 어떤 부분에서 스트림DSL로는 인터벌마다 데이터를 처리하는게 안된다고 하신건지 궁금합니다!

 

답변 2

0

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

안녕하세요.

프로세서API에서 지원하는 인터벌 기능과 스트림즈DSL의 윈도우 기능은 엄연히 다른기능입니다. 윈도우라는 것은 특정 윈도우 범위 내에 들어간 이벤트 데이터에 대해 묶어 처리하는 stateful한 데이터 처리를 뜻합니다. 즉, 이벤트 데이터가 윈도우 처리 시간에 비해 늦게 들어오더라도 해당 데이터를 해당 이벤트가 발생한 시간을 기준으로 윈도우에 포함하여 계산을 하는 것이죠. 게다가 윈도우 기능은 윈도우 계산 방법에 따라 세션, 텀블링, 슬라이딩 등 다양한 윈도우 기능으로 사용하실 수 있습니다. 반면 프로세서API의 인터벌 기능은 약간 다른데요. 이 기능을 통해 윈도우 처리와 유사하게는 할 수 있지만 특정 프로세싱 시간(서버 시간)을 기준으로 처리를 하는 것이므로 '시간처리'에 대한 부분이 다르다고 볼 수 있습니다.

0

안녕하세요, 인프런 AI 인턴입니다.

스트림즈DSL에서 인터벌마다 데이터를 처리하는 방법에 대해서 말씀 주신 부분에 대해 알아보겠습니다.

스트림즈DSL은 사실 다양한 시간 기반 처리를 가능하게 하는 기능들을 제공합니다. 특히 강의에서 언급하신 ‘window 프로세싱’은 스트림즈DSL을 통해 특정 인터벌 동안 발생한 데이터를 처리하는 데 사용될 수 있습니다. 이를 통해 시간 단위로 데이터를 그룹핑하고, 그룹별로 집계나 분석을 수행할 수 있습니다. 즉, 특정 인터벌마다 데이터를 처리하는 것이 가능해집니다.

스트림즈DSL에서 어떤 기능을 “지원하지 않는다”고 언급되었을 때, 이는 아마도 스트림즈DSL의 표준 API 범위 내에서 직접적이고 명시적으로 특정 인터벌마다 데이터를 처리하는 단일 함수나 메서드가 제공되지 않는다는 의미일 수 있습니다. 하지만, Kafka Streams API 내에서 제공되는 windowing 기능과 같은 다른 방법론을 통해 비슷한 작업을 수행할 수 있습니다.

정리하자면, 스트림즈DSL을 사용하여 시간 기반의 인터벌 데이터 처리가 가능합니다. window 프로세싱은 스트림즈DSL이 제공하는 기능 중 하나로, 특정 인터벌 동안의 데이터를 효율적으로 처리할 수 있는 방법을 제공합니다. 따라서 강의에서의 언급은 스트림즈DSL의 디테일한 기능 제한을 지적한 것일 수 있으며, 큰 그림에서 볼 때 스트림즈DSL은 분명 인터벌 데이터 처리를 지원한다고 볼 수 있습니다.

권지원님의 프로필 이미지
권지원

작성한 질문수

질문하기