À propos du service de flux

Vous pouvez traiter des données en continu ou des données produites en continu en temps quasi réel dans l'atelier Oracle AI Data Platform Workbench à l'aide de la fonction de diffusion en continu structurée d'Apache Spark.

Les carnets et les flux de travail prennent en charge la diffusion en continu structurée Apache Spark. Vous pouvez utiliser les sources et les collecteurs suivants pour lire les données de flux depuis, é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) Pris en charge pour tous les formats
Chemin de l'espace de travail (/Workspace/folder1/) Pris en charge pour tous les formats
Tables dans les catalogues avec trois noms de parties (catalog.schema.table) Pris en charge pour le format Delta seulement

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 Kafka sans convention de dénomination en trois parties

Non pris en charge pour le catalogue basé sur Kafka après la convention de dénomination en trois parties)

Service de flux pour OCI Versions
Chemin du stockage d'objets OCI (à l'aide d'oci ://) Non prise 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)

Diffusion en continu structurée à l'aide de carnets

Vous pouvez écrire du code Python pour traiter les données de flux dans un carnet. Les chemins de volume ou d'espace de travail sont valides en tant qu'emplacement de point de reprise, mais les chemins de stockage d'objets (format oci ://) ne sont pas pris en charge en tant qu'emplacement de point de reprise. Il est recommandé d'utiliser des chemins de volume comme emplacement de point de reprise.


Exemple de code de diffusion en continu dans une cellule de carnet de l'atelier Plate-forme de données d'intelligence artificielle


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

Vous pouvez voir les événements liés à la diffusion en continu Apache Spark, tels que le taux d'entrée, le taux de traitement et la durée du lot, à partir de l'onglet Tableau de bord de votre carnet lors de l'exécution du code de diffusion en continu.


Onglet Tableau de bord dans un carnet ouvert pour afficher les données en continu

Vous pouvez également voir les événements bruts liés à la diffusion en continu à partir de l'onglet Données brutes pendant que vous développez votre code de manière incrémentielle.


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