구조적 스트리밍 개념
이 문서에서는 Azure 데이터브릭의 구조화된 스트리밍에 대해 소개합니다.
구조화된 스트리밍이란 무엇인가요?
Apache Spark 구조적 스트리밍은 친숙한 Spark API를 사용하여 정확히 한 번만 처리할 수 있는 엔드투엔드 내결함성을 제공하는 거의 실시간 처리 엔진입니다. 구조적 스트리밍을 통해 정적 데이터에 대한 일괄 처리 계산을 표현하는 것과 동일한 방식으로 스트리밍 데이터에 대한 계산을 표현할 수 있습니다. Structured Streaming 엔진은 계산을 증분 방식으로 수행하고 스트리밍 데이터가 도착할 때 결과를 지속적으로 업데이트합니다.
데이터 스트림에서 읽기
구조적 스트리밍을 사용하여 지원되는 데이터 원본에서 데이터를 증분 방식으로 수집할 수 있습니다. 일반적인 데이터 원본에는 다음이 포함됩니다.
- 클라우드 개체 스토리지의 데이터 파일입니다. 자동 로더란?을 참조하세요.
- 메시지 버스 및 큐. 스트리밍 데이터 원본 구성을 참조하세요.
- Delta Lake 델타 테이블 스트리밍 읽기 및 쓰기
참조하세요.
각 데이터 원본은 데이터 일괄 처리를 로드하는 방법을 지정하는 다양한 옵션을 제공합니다. 판독기 구성 중에 다음을 수행하도록 옵션을 구성해야 할 수 있습니다.
- 데이터 원본 또는 형식(예: 파일 형식, 구분 기호 및 스키마)을 지정합니다.
- 원본 시스템(예: 포트 설정 및 자격 증명)에 대한 액세스를 구성합니다.
- 스트림에서 시작할 위치를 지정합니다(예: Kafka 오프셋 또는 모든 기존 파일 읽기).
- 각 일괄 처리에서 처리되는 데이터의 양(예: 일괄 처리당 최대 오프셋, 파일 또는 바이트)을 제어합니다. Azure Databricks에서 구조적 스트리밍 일괄 처리 크기 구성을 참조하세요.
데이터 싱크에 쓰기
데이터 싱크는 스트리밍 쓰기 작업의 대상입니다. Azure Databricks 스트리밍 워크로드에 사용되는 일반적인 싱크에는 다음이 포함됩니다.
- Delta Lake
- 메시지 버스 및 큐
- 키-값 데이터베이스
데이터 원본과 마찬가지로 대부분의 데이터 싱크는 대상 시스템에 데이터를 쓰는 방법을 제어하는 다양한 옵션을 제공합니다. 기록기 구성 중에 다음 옵션을 지정합니다.
- 출력 모드(기본적으로 추가). 참조하세요 구조적 스트리밍에 대한 출력 모드를 선택.
- 검사점 위치(각 작성자에 필요). 구조적 스트리밍 검사점을 참조하세요.
- 트리거 간격. 구조적 스트리밍 트리거 간격 구성을 참조하세요.
- 데이터 싱크 또는 형식을 지정하는 옵션(예: 파일 형식, 구분 기호 및 스키마).
- 대상 시스템에 대한 액세스를 구성하는 옵션(예: 포트 설정 및 자격 증명).