35

실습: Kafka 없이 스트리밍 테스트하기

Structured Streaming: 배치처럼 쓰는 스트리밍

학습 목표

Rate Source로 스트리밍 데이터를 생성할 수 있다 Window 집계를 구현할 수 있다 Console Sink로 결과를 확인할 수 있다

Rate Source: Kafka 없이 스트리밍 테스트

"Kafka 설치하기 귀찮은데 스트리밍 테스트 어떻게 해요?"

Rate Source는 Spark가 제공하는 테스트용 스트림 소스다. 초당 N개의 행을 자동 생성한다.

에디터 로딩 중...

미션: 실시간 이벤트 집계

Rate Source로 이벤트를 생성하고, 10초 윈도우로 집계해보자.

요구사항

  1. Rate Source로 초당 10개 이벤트 생성
  2. 이벤트 타입 추가 (click, view, purchase 중 랜덤)
  3. 10초 윈도우로 이벤트 타입별 카운트
  4. Console로 결과 출력

힌트

  • F.array()로 배열 생성
  • F.element_at()로 배열에서 선택
  • (F.rand() * 3 + 1).cast("int")로 1-3 랜덤 인덱스
에디터 로딩 중...
힌트 보기
  • Rate Source는 value와 timestamp 두 컬럼을 자동 생성
  • F.array()로 문자열 배열 생성: F.array(F.lit("a"), F.lit("b"))
  • F.element_at(array, index)로 배열 요소 선택 (1-based)
  • Complete 모드는 집계 결과 전체를 매번 출력
  • trigger(processingTime)으로 배치 간격 조절
정답 보기
에디터 로딩 중...