11 스트리밍

이 섹션에서는 Oracle AI Data Platform Workbench에서 스트리밍 데이터 또는 지속적으로 생성된 데이터를 사용하는 방법을 다룹니다.

스트리밍 정보

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

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

표 11-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 탭

워크플로우를 사용하여 Spark 구조화된 스트리밍 구성

스트림 데이터의 지속적인 처리를 위해 워크플로우 내에서 스트리밍 작업을 구성할 수 있습니다.

먼저 작업을 생성한 다음 해당 작업에 하나의 노트북 또는 Python 작업을 추가하여 Oracle AI Data Platform Workbench에서 스트리밍으로 워크플로우를 사용하기 시작해야 합니다.
  1. 작업영역으로 이동하고 워크플로우를 누릅니다.
  2. 클러스터 생성 아이콘작업 생성을 누릅니다.
  3. 작업에 대한 이름 및 설명을 제공하십시오.
  4. 찾아보기를 누르고 AI 데이터 플랫폼 워크벤치에 작업을 저장할 위치를 선택합니다. 선택을 누릅니다.
  5. 최대 동시 실행에 대해 1을 입력합니다.
  6. 생성을 누릅니다.
  7. 방금 생성한 작업을 누릅니다.
  8. 작업 추가를 누릅니다.
  9. 작업에 대한 이름 제공
  10. 태스크 유형에 대해 노트북 또는 Python을 선택합니다.
  11. 찾아보기를 누르고 스트리밍 태스크로 추가할 노트북 또는 Python 스크립트로 이동합니다. 선택을 누릅니다.
  12. 노트북 또는 Python 작업에 대한 컴퓨트 클러스터가 아직 연결되지 않은 경우 선택합니다.
  13. 스트리밍 확인란을 선택합니다. Streaming을 선택하면 실행 시간 초과 및 작업 종속성이 옵션으로 사용 안함으로 설정됩니다.

    스트리밍 체크박스가 선택된 상태로 태스크 세부정보 생성 페이지가 열립니다.

  14. 태스크가 실패 시 시도해야 하는 재시도 횟수를 선택합니다. 0을 초과하는 경우 재시도 사이에 작업 실행이 대기해야 하는 시간 및 시간 초과 시 재시도를 시도해야 하는지 여부도 지정해야 합니다.

    재시도 횟수가 1 이상인 경우 태스크 재시도 옵션

  15. 지금 실행을 누릅니다.
스트리밍 작업이 시작된 후에는 수동으로 중지할 때까지 계속 실행됩니다. 정기적인 월별 유지 관리 중에는 서비스에서 Streaming 작업이 중지되고 다시 시작되므로 별도의 작업이 필요하지 않습니다.