Interroger eventstream dans Microsoft Fabric depuis un ordinateur portable avec Spark Structured Streaming

Eventstream dans Microsoft Fabric est un service entièrement géré d’ingestion et de streaming d’événements qui permet un traitement et des analyses de données en temps réel. Vous pouvez intégrer eventstream avec des notebooks Fabric en utilisant Spark Structured Streaming pour traiter et analyser les données en streaming en temps réel.

Cette intégration vous permet d’explorer des flux d’événements et d’autres sources en temps réel via le hub Real-Time, directement depuis vos Fabric notebooks. Vous pouvez également créer de nouveaux flux d’événements et commencer à ingérer des données provenant de près de 30 (et en croissance) sources de streaming, y compris des bases de données compatibles CDC, des courtiers de messages, des services de streaming et des flux publics. Le nouveau modèle de programmation vous permet de vous connecter facilement à Eventstream, de lire des données en streaming et d’effectuer des analyses en temps réel grâce aux API Spark familières sans aucune chaîne de connexion ni identifiants, rendant la création d’applications en temps réel plus sécurisée

Prerequisites

Avant de commencer, vérifiez que vous disposez des conditions préalables suivantes :

  • Un espace de travail Fabric avec le flux d’événements activé.
  • Un environnement de cahier configuré dans Fabric.
  • Connaissance de base de Spark Structured Streaming et PySpark ou Scala.

Étapes d’interrogation d’eventstream à partir d’un notebook

  1. Découvrez et ajoutez eventstream dans Notebook :

    1. Ouvrez votre bloc-notes Microsoft Fabric.

    2. Sélectionnez Ajouter des éléments de données sous l’onglet Éléments de données , puis sélectionnez À partir de Real-Time hub dans le menu déroulant.

    3. Dans la boîte de dialogue Real-Time hub, recherchez le flux d’événements cible que vous souhaitez interroger avec différentes options de recherche et de filtre.

    4. Ajoutez le flux d’événements à votre environnement de notebook.

      Capture d’écran montrant comment découvrir eventstream dans le hub Real-Time.

      Après avoir ajouté l'élément de flux d'événements, il apparaît sous le nœud hub en temps réel dans l'explorateur d'objets de votre notebook avec le nom de l'élément. Une fois le nœud développé, vous verrez le flux par défaut ou dérivé à l'intérieur de l'élément de flux d'événements.

      Capture d’écran montrant l'eventstream ajouté dans l’Explorateur d’objets du notebook.

  2. Lire les données de streaming à partir d’eventstream :

    1. Dans le menu contextuel de l’élément eventstream dans l’Explorateur d’objets, sélectionnez Lire avec Spark pour créer une cellule de code préconfigurée à lire à partir du flux d’événements sélectionné.

      Capture d’écran montrant comment lire eventstream avec Spark à partir du menu contextuel.

    2. Dans la cellule de code nouvellement créée, vous pouvez utiliser l’extrait de code PySpark suivant pour lire les données de streaming à partir du flux d’événements :

      from pyspark.sql import SparkSession
      from pyspark.sql.functions import col
      from pyspark.sql.types import StringType
      from pyspark.sql.dataframe import DataFrame
      
      eventstream_options = {
          "eventstream.itemid": __in_eventstream_item_id,
          "eventstream.datasourceid": __in_eventstream_datasource_id
      }
      
      # Read from Kafka using the config map
      df_raw = spark.readStream.format("kafka").options(**eventstream_options).load()
      
      decoded_df = df_raw.select(
          col("key").cast(StringType()).alias("key"),
          col("value").cast(StringType()).alias("value"),
          col("partition"),
          col("offset")
      )
      
      def showDf(x:DataFrame, y:int):
          x.show()
      
      # Print messages to the console
      query = decoded_df.writeStream.foreachBatch(showDf).outputMode("append").start()
      query.awaitTermination()
      

      La valeur des options eventstream.itemid et eventstream.datasourceid est automatiquement remplie dans la cellule de code de paramètre au-dessus de cette cellule de code.

      Note

      Pour chaque sélection sur Read with Spark, une nouvelle cellule de code est générée avec les paramètres nécessaires automatiquement renseignés, et une nouvelle destination Notebook est créée pour l'élément Eventstream, où chaque destination Notebook est unique. Pour un élément de bloc-notes, nous vous recommandons de le définir une fois comme destination pour un élément Eventstream afin d’éviter de créer plusieurs destinations.

      Avant d’exécuter un travail, vous pouvez également afficher un aperçu des données de streaming en cliquant sur le bouton Aperçu des données dans le menu contextuel de l’élément Eventstream. Un panneau latéral s’ouvre pour afficher un instantané des données de diffusion en continu à côté du bloc-notes.

      Capture d’écran montrant comment afficher un aperçu des données Eventstream à partir du menu contextuel.

  3. Ajouter un bloc-notes en tant que destination : vous pouvez également ajouter le bloc-notes comme destination pour que Eventstream commence à ingérer des données dans Eventstream à partir du bloc-notes. Pour plus d’informations, consultez Ajouter une destination Spark Notebook à un flux d’événements.

Conclusion

L’intégration d’eventstream dans Fabric avec des notebooks grâce à Spark Structured Streaming vous permet de traiter et d’analyser des données en temps réel de manière fluide. En suivant les étapes décrites dans cet article, vous pouvez facilement vous connecter à eventstream, lire des données en streaming et effectuer des analyses en temps réel grâce aux API Spark familières. Cette intégration ouvre de nouvelles possibilités pour construire des applications en temps réel et obtenir des insights grâce à la diffusion de données au sein de l’écosystème Fabric.

Pour en savoir plus sur le travail avec les eventstreams et les notebooks dans Fabric, consultez les ressources suivantes