À propos de Streaming

Vous pouvez traiter des données de transmission en continu ou des données produites en continu en temps quasi réel dans Oracle AI Data Platform Workbench à l'aide de la fonctionnalité Apache Spark Structured Streaming.

Les blocs-notes et les workflows prennent en charge la diffusion en continu structurée Apache Spark. Vous pouvez utiliser les sources et les puits suivants pour lire les données de flux, écrire les données de flux vers et pour les emplacements de point de reprise.

Tableau 16-1 Sources et puits pris en charge

Source ou récepteur Pris en charge ?
Chemin du volume (/Volume/bronze/bucket1) Prise en charge pour tous les formats
Chemin de l'espace de travail (/Workspace/folder1/) Prise en charge pour tous les formats
Tables dans les catalogues avec trois noms de parties (catalog.schema.table) Pris en charge uniquement pour le format Delta

Non pris en charge pour les formats Parquet, CSV, JSON et ORC

Exemple 1 : code pris en charge

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

Exemple 2 : code non pris en charge

  • spark.readStream.option("withEventTimeOrder", "true").format("format") .table("stdcatalog.stdschema.samplecsv")
Kafka Pris en charge pour tous les flux compatibles avec Kafka sans convention de dénomination en trois parties

Non pris en charge pour le catalogue basé sur Kafka suivant une convention de dénomination en trois parties)

Service OCI Streaming Pris en charge
Chemin du stockage OCI Object (à l'aide d'oci ://) Non pris en charge
Oracle Autonomous AI Lakehouse, Oracle AI Database, Oracle Autonomous AI Transaction Processing Non pris en charge pour la diffusion en continu (readStream ou writeStream)

Streaming structuré à l'aide de blocs-notes

Vous pouvez écrire du code Python pour traiter les données de flux dans un bloc-notes. Les chemins de volume ou d'espace de travail sont valides en tant qu'emplacement de point de reprise, mais les chemins Object Storage (formatoci ://) ne sont pas pris en charge en tant qu'emplacement de point de reprise. Nous vous recommandons d'utiliser les chemins de volume comme emplacement de point de reprise.


Exemple de code de transmission en continu dans une cellule de bloc-notes AI Data Platform Workbench


Exemple de code Python utilisé pour traiter les données de flux dans un bloc-notes AI Data Platform Workbench

Vous pouvez voir les événements liés à la transmission en continu d'Apache Spark, tels que le taux d'entrée, le taux de traitement et la durée de batch, dans l'onglet Tableau de bord de votre bloc-notes lors de l'exécution du code de transmission en continu.


Onglet Tableau de bord d'un bloc-notes ouvert pour afficher les données de transmission en continu

Vous pouvez également afficher les événements bruts liés à la transmission en continu à partir de l'onglet Données brutes tout en développant votre code de manière incrémentielle.


Onglet Données brutes ouvert dans un bloc-notes affichant les événements liés à la diffusion en continu