다음을 통해 공유


구조적 스트리밍 개념

Apache Spark 구조적 스트리밍은 친숙한 Spark API를 사용하여 정확히 한 번만 처리할 수 있는 엔드투엔드 내결함성을 제공하는 거의 실시간 처리 엔진입니다. 구조적 스트리밍을 통해 정적 데이터에 대한 일괄 처리 계산을 표현하는 것과 동일한 방식으로 스트리밍 데이터에 대한 계산을 표현할 수 있습니다. Structured Streaming 엔진은 계산을 증분 방식으로 수행하고 스트리밍 데이터가 도착할 때 결과를 지속적으로 업데이트합니다.

단계별 자습서는 첫 번째 구조적 스트리밍 워크로드 실행을 참조하세요.

데이터 스트림에서 읽기

구조적 스트리밍을 사용하여 지원되는 데이터 원본에서 데이터를 증분 방식으로 수집합니다.

특징 설명
자동 로더 클라우드 스토리지에 새 데이터 파일이 도착할 때마다 점진적으로 효율적으로 처리합니다.
델타 테이블 스트리밍 읽기와 쓰기 정확히 한 번의 처리 보장을 통해 Delta Lake 테이블을 스트리밍 원본 및 싱크로 사용합니다.
표준 커넥터 표준 커넥터를 사용하여 메시지 버스, 큐 및 엔터프라이즈 애플리케이션에 연결합니다.
마이크로 일괄 처리 크기 일관된 일괄 처리 크기를 유지하고 처리 지연을 방지하도록 입력 속도를 제한합니다.

데이터 싱크에 쓰기

구조적 스트리밍이 대상 시스템에 데이터를 제공하는 방법을 구성합니다.

특징 설명
검사점 처리 상태를 저장하여 내결함성을 제공하고 단 한 번의 배달 의미 체계를 실현합니다.
출력 모드 상태 저장 스트리밍 쿼리에 대한 추가, 업데이트 및 전체 모드 중에서 선택합니다.
트리거 간격 처리 요구 사항에 대한 대기 시간과 비용의 균형을 맞추기 위해 트리거 간격을 설정합니다.
구조적 스트리밍의 실시간 모드 종단 간 대기 시간이 5밀리초 이하인 실시간 워크로드에 대한 데이터를 처리합니다.

상태 저장 및 상태 비저장 처리

무상태 쿼리는 상태를 유지하지 않고 행을 처리합니다. 상태 저장 쿼리는 집계, 조인 및 중복 제거에 대한 중간 상태를 유지합니다.

특징 설명
상태 비저장 스트리밍 쿼리 중간 상태를 유지하지 않고 데이터를 처리하는 쿼리를 최적화합니다.
워터 마크 상태 저장 작업에서 Structured Streaming이 늦게 도착하는 데이터를 기다리는 시간을 제어합니다.
상태 저장 스트리밍 상태 저장 연산자를 사용하여 집계, 스트림 스트림 조인 및 중복 제거를 관리합니다.

모니터링 및 관리

쿼리 성능을 추적하고, 최적화를 적용하고, 프로덕션 구조적 스트리밍 워크로드에 대한 데이터 액세스를 제어합니다.

특징 설명
StreamingQueryListener를 사용하여 모니터링 Spark UI 및 수신기 API를 사용하여 쿼리 진행률 및 성능 메트릭을 추적합니다.
Unity 카탈로그를 사용하여 관리 거버넌스 및 액세스 제어를 사용하여 스트리밍 워크로드에 대한 Unity 카탈로그를 구성합니다.