본문 바로가기
728x90

Structured Streaming3

[Spark] Spark Streaming 운영 환경에서의 Structured Streaming 이번 포스트에는 spark streaming을 운영할 때 중요한 포인트를 정리 해보겠습니다.1. 내고장성과 체크포인팅structured streaming application은 단순히 재시작만으로 장애 상황을 극복스파크 엔진이 자동으로 관리하는 체크포인트와 WAL을 사용하도록 설정해야 함장애 상황이 발생하면 단순히 application을 다시 시작하여 중간 상탯값을 저장한 체크 포인트 경로를 참조하도록 설정, 이전 상태를 복구하고 중단된 데이터를 처리함체크포인트 디렉터리나 디렉터리의 파일이 제거된 경우 장애 상황에서 애플리케이션을 정상적으로 실행할 수 없고, 처음부터 다시 스트림 해야 함val static = spark.read.json("/data/activity-data")val streaming =.. 2025. 2. 10.
[Spark] Spark Streaming 이벤트 시간과 상태 기반 처리 정리 스트리밍 데이터를 다룰 때 꼭 필요한 개념인 이벤트 시간 처리와 상태 기반 처리에 대해서 정리하겠습니다. 1. 이벤트 시간 처리DStream API는 이벤트 시간과 관련된 처리 정보를 제공하지 않음이벤트 시간:이벤트 시간은 데이터에 기록되어 있는 시간대부분의 경우 이벤트가 실제로 일어난 시간을 의미이벤트를 다른 이벤트와 비교하는 더 강력한 방법을 제공하기 때문에 사용해야 함이때 지연되거나 무작위로 도착하는 이벤트를 해결해야 한다는 문제점이 있음스트림 처리 시스템은 지연되거나 무작위로 도착한 데이터를 반드시 제어할 수 있어야 함처리 시간:처리 시간은 스트림 처리 시스템이 데이터를 실제로 수신한 시간세부 구현과 관련된 내용이므로 이벤트 시간보다 덜 중요이벤트 시간처럼 외부 시스템에서 제공하는 것이 아니라 스.. 2025. 2. 10.
[Spark] Spark Streaming, Structured Streaming 기초 정리 이번 포스트에는 spark streaming 고수준 API인 structured streaming에 대해서 정리해보겠습니다. 1. Structured Streaming 개요 및 특징Structured streaming은 spark SQL 엔진 기반의 스트림 처리 프레임워크(spark의 structured API인 Dataframe, Dataset 그리고 SQL를 사용함)스트리밍 연산은 배치 연산과 동일하게 표현함, 사용자가 스트림 처리용 코드와 목적지를 정의하면 structured streaming 엔진에서 신규 데이터에 대한 증분 및 연속형 쿼리를 실행하고, 코드 생성, 쿼리 최적화 등의 기능을 지원하는 카탈리스트 엔진을 사용해 연산에 대한 논리적 명령을 처리함종합적이며, 정확히 한 번 처리 방식(ex.. 2025. 2. 6.
728x90