스트리밍 정보

Apache Spark Structured Streaming 기능을 사용하여 Oracle AI Data Platform Workbench에서 스트리밍 데이터를 처리하거나 지속적으로 생성된 데이터를 거의 실시간으로 처리할 수 있습니다.

노트북과 워크플로는 모두 Apache Spark 구조화된 스트리밍을 지원합니다. 다음 소스 및 싱크를 사용하여 스트림 데이터를 읽고, 스트림 데이터를 쓰고, 체크포인트 위치에 대해 읽을 수 있습니다.

표 16-1 지원되는 소스 및 싱크

소스 또는 싱크 지원 여부
볼륨 경로(/Volume/bronze/bucket1) 모든 형식 지원
작업 영역 경로(/Workspace/folder1/) 모든 형식 지원
부품 이름이 3개인 카탈로그의 테이블(catalog.schema.table) 델타 형식에만 지원됩니다.

Parquet, CSV, JSON, ORC 형식에는 지원되지 않습니다.

예 1: 지원되는 코드

  • streaming_df = spark.readStream.format("delta").table('stdcatalog.stdschema.deltatable')
  • streaming_df.writeStream.format("delta").outputMode("append").option("checkpointLocation", "/Volumes/checkpoints1/").toTable("stdcatalog.stdschema.deltatable")

예 2: 지원되지 않는 코드

  • spark.readStream.option("withEventTimeOrder", "true").format("format") .table("stdcatalog.stdschema.samplecsv")
Kafka 세 부분으로 구성된 이름 지정 규칙 없이 모든 Kafka 호환 스트림에 대해 지원됨

세 부분으로 구성된 이름 지정 규칙에 따라 Kafka 기반 카탈로그에 지원되지 않음)

OCI Streaming 서비스 지원되는
OCI 객체 스토리지 경로(OCI:// 사용) 지원 안됨
Oracle Autonomous AI Lakehouse, Oracle AI Database, Oracle Autonomous AI Transaction Processing 스트리밍에 지원되지 않음(readStream 또는 writeStream)

노트북을 사용한 구조화된 스트리밍

노트북에서 스트림 데이터를 처리하는 Python 코드를 작성할 수 있습니다. 볼륨 경로 또는 작업 영역 경로가 체크포인트 위치로 적합하지만 객체 스토리지 경로(oci:// 형식)는 체크포인트 위치로 지원되지 않습니다. 볼륨 경로를 체크포인트 위치로 사용하는 것이 좋습니다.


AI 데이터 플랫폼 워크벤치 노트북 셀의 스트리밍 코드 예


AI 데이터 플랫폼 워크벤치 노트북에서 스트림 데이터를 처리하는 데 사용되는 Python 코드 예

스트리밍 코드를 실행하는 동안 노트북의 대시보드 탭에서 입력 속도, 처리 속도 및 일괄 처리 기간과 같은 Apache Spark 스트리밍 관련 이벤트를 확인할 수 있습니다.


스트리밍 데이터를 표시하기 위해 열려 있는 노트북의 대시보드 탭

코드를 점진적으로 개발하는 동안 원시 데이터 탭에서 원시 스트리밍 관련 이벤트를 볼 수도 있습니다.


스트리밍 관련 이벤트를 표시하는 노트북에 열린 Raw Data 탭