Acerca de Streaming

Puede procesar datos de transmisión o datos producidos continuamente en casi tiempo real en Oracle AI Data Platform Workbench mediante la capacidad de transmisión estructurada de Apache Spark.

Tanto los blocs de notas como los flujos de trabajo admiten la transmisión estructurada de Apache Spark. Puede utilizar los siguientes orígenes y receptores para leer datos de flujos, escribir datos de flujos y para ubicaciones de puntos de control.

Tabla 16-1 Orígenes y fregaderos admitidos

Origen o receptor ¿Soportado?
Ruta de volumen (/Volume/bronze/bucket1) Soportado para todos los formatos
Ruta de espacio de trabajo (/Workspace/folder1/) Soportado para todos los formatos
Tablas en catálogos con tres nombres de parte (catalog.schema.table) Soportado solo para formato Delta

No soportado para formatos Parquet, CSV, JSON y ORC

Ejemplo 1: código soportado

  • 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")

Ejemplo 2: código no soportado

  • spark.readStream.option("withEventTimeOrder", "true").format("format") .table("stdcatalog.stdschema.samplecsv")
Kafka Soportado para cualquier flujo compatible con Kafka sin convención de nomenclatura de tres partes

No soportado para el catálogo basado en Kafka tras la convención de nomenclatura de tres partes)

OCI Streaming Soportados
Ruta de OCI Object Storage (mediante OCI://) No soportada
Oracle Autonomous AI Lakehouse, Oracle AI Database, Oracle Autonomous AI Transaction Processing No soportado para transmisión (readStream o writeStream)

Flujo estructurado mediante blocs de notas

Puede escribir código Python para procesar datos de flujo en un bloc de notas. Las rutas de acceso de volumen o de espacio de trabajo son válidas como ubicación de punto de control, pero las rutas de Object Storage (formatooci://) no están soportadas como ubicación de punto de control. Recomendamos utilizar rutas de volumen como ubicación de punto de control.


Ejemplo de código de transmisión en una celda de bloc de notas de AI Data Platform Workbench


Ejemplo de código Python utilizado para procesar datos de flujo en un bloc de notas de AI Data Platform Workbench

Puede ver los eventos relacionados con el flujo de Apache Spark, como el ratio de entrada, el ratio de procesamiento y la duración del lote, en el separador Panel de control de su bloc de notas mientras ejecuta el código de flujo.


Separador Dashboard (Panel de control) en un bloc de notas abierto para mostrar datos de transmisión

También puede ver los eventos relacionados con el flujo sin procesar desde el separador Datos sin procesar mientras desarrolla el código de forma incremental.


Separador Raw Data abierto en un bloc de notas que muestra eventos relacionados con la transmisión