구조적 스트리밍 상태 정보 읽기

Important

이 기능은 공개 미리 보기 상태입니다.

Databricks Runtime 14.3 LTS 이상에서는 DataFrame 작업 또는 SQL 테이블 값 함수를 사용하여 구조적 스트리밍 상태 데이터 및 메타데이터를 쿼리할 수 있습니다. 이러한 함수를 사용하여 구조적 스트리밍 상태 저장 쿼리에 대한 상태 정보를 관찰할 수 있습니다. 이는 모니터링 및 디버깅에 유용할 수 있습니다.

상태 데이터 또는 메타데이터를 쿼리하려면 스트리밍 쿼리의 검사point 경로에 대한 읽기 권한이 있어야 합니다. 이 문서에 설명된 함수는 상태 데이터 및 메타데이터에 대한 읽기 전용 액세스를 제공합니다. 일괄 처리 읽기 의미 체계만 사용하여 상태 정보를 쿼리할 수 있습니다.

참고 항목

Delta Live Tables 파이프라인, 스트리밍 테이블 또는 구체화된 뷰에 대한 상태 정보를 쿼리할 수 없습니다.

구조적 스트리밍 상태 저장소 읽기

지원되는 모든 Databricks 런타임에서 실행되는 구조적 스트리밍 쿼리에 대한 상태 저장소 정보를 읽을 수 있습니다. 다음 구문을 사용합니다.

Python

df = (spark.read
  .format("statestore")
  .load("/checkpoint/path"))

SQL

SELECT * FROM read_statestore('/checkpoint/path')

지원되는 선택적 구성은 다음과 같습니다.

옵션 Type 기본값
batchId Long 최신 일괄 처리 ID
operatorId Long 0
storeName 문자열 "DEFAULT"
joinSide 문자열("왼쪽" 또는 "오른쪽") 읽을 대상 쪽을 나타냅니다. 이 옵션은 사용자가 스트림 스트림 조인에서 상태를 읽으려는 경우에 사용됩니다.

반환된 데이터에는 다음 스키마가 있습니다.

Column Type 설명
key 구조체(상태 키에서 파생된 추가 형식) 상태 검사point의 상태 저장 연산자 레코드에 대한 키입니다.
value 구조체(상태 값에서 파생된 추가 형식) 상태 검사point의 상태 저장 연산자 레코드 값입니다.
partition_id 정수 상태 저장 연산자 레코드가 포함된 상태 검사포인트의 파티션입니다.

구조적 스트리밍 상태 메타데이터 읽기

Important

상태 메타데이터를 기록하려면 Databricks Runtime 14.2 이상에서 스트리밍 쿼리를 실행해야 합니다. 상태 메타데이터 파일은 이전 버전과의 호환성을 손상시키지 않습니다. Databricks Runtime 14.1 이하에서 스트리밍 쿼리를 실행하도록 선택하면 기존 상태 메타데이터 파일이 무시되고 새 상태 메타데이터 파일이 기록되지 않습니다.

Databricks Runtime 14.2 이상에서 실행되는 구조적 스트리밍 쿼리에 대한 상태 메타데이터 정보를 읽을 수 있습니다. 다음 구문을 사용합니다.

Python

df = (spark.read
  .format("state-metadata")
  .load("<checkpointLocation>"))

SQL

SELECT * FROM read_state_metadata('/checkpoint/path')

반환된 데이터에는 다음 스키마가 있습니다.

Column Type 설명
operatorId 정수 상태 저장 스트리밍 연산자의 정수 ID입니다.
operatorName 정수 상태 저장 스트리밍 연산자의 이름입니다.
stateStoreName 문자열 연산자의 상태 저장소 이름입니다.
numPartitions 정수 상태 저장소의 파티션 수입니다.
minBatchId Long 쿼리 상태에 사용할 수 있는 최소 일괄 처리 ID입니다.
maxBatchId Long 쿼리 상태에 사용할 수 있는 최대 일괄 처리 ID입니다.

참고 항목

제공된 minBatchId 일괄 처리 ID 값은 maxBatchId 검사포인트가 기록된 시점의 상태를 반영합니다. 이전 일괄 처리는 마이크로 일괄 처리 실행과 함께 자동으로 클린 있으므로 여기에 제공된 값은 계속 사용할 수 있도록 보장되지 않습니다.