Spark Structured Streaming ile bir notebook'tan Microsoft Fabric'te eventstream sorgusu yapın

Microsoft Fabric'te Eventstream, gerçek zamanlı veri işleme ve analitiği mümkün kılan tamamen yönetilen bir olay alım ve akış hizmetidir. Spark Structured Streaming kullanarak gerçek zamanlı akış verilerini işlemek ve analiz etmek için eventstream'i Fabric notebook'larla entegre edebilirsiniz.

Bu entegrasyon, Real-Time hub üzerinden etkinlik akışlarını ve diğer gerçek zamanlı kaynakları Fabric defterlerinizin içinden keşfetmenizi sağlar. Ayrıca yeni etkinlik akışları oluşturabilir ve CDC destekli veritabanları, mesaj aracıları, yayın hizmetleri ve halka açık akışlar dahil olmak üzere yaklaşık 30 (ve büyüyen) akış kaynağından veri almaya başlayabilirsiniz. Yeni programlama modeli, herhangi bir bağlantı dizisi veya kimlik doğrulaması olmadan tanıdık Spark API'leriyle olay akışına kolayca bağlanmaya, akış verilerini okumanıza ve gerçek zamanlı analitikler yapmanızı sağlar; bu da gerçek zamanlı uygulamalar oluşturmayı daha güvenli kılar

Önkoşullar

Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:

  • Eventstream etkin olan bir Fabric çalışma alanı.
  • Fabric'te kurulmuş bir defter ortamı.
  • Spark Yapılandırılmış Akış ve PySpark veya Scala hakkında temel bilgiler.

Not Defterinden Olay Akışını Sorgulama Adımları

  1. Olay akışını bulma ve Not Defteri'ne ekleme:

    1. Microsoft Fabric not defterinizi açın.

    2. Veri öğeleri sekmesinin altında Veri öğeleri ekle'ye tıklayın ve ardından açılır menüden Real-Time hub'dan seçeneğini belirleyin.

    3. Real-Time hub iletişim kutusunda, farklı arama ve filtre seçenekleriyle sorgulamak istediğiniz hedef olay akışını bulun.

    4. Olay akışını not defteri ortamınıza ekleyin.

      Real-Time hub'ında olay akışını bulmayı gösteren ekran görüntüsü.

      Olay akışı öğesi eklendikten sonra, not defteri nesne gezgininizde öğe adıyla Real-Time hub düğümü altında görünür, düğümü genişletdikten sonra olay akışı öğesinde varsayılan veya türetilmiş akışı görürsünüz.

      Not defteri nesne gezgininde eklenen olay akışını gösteren ekran görüntüsü.

  2. Eventstream'den akış verilerini okuma:

    1. Nesne gezginindeki olay akışı öğesinin bağlam menüsünden Spark ile Oku'ya seçerek seçili olay akışından okumak üzere önceden yapılandırılmış bir kod hücresi oluşturun.

      Bağlam menüsünden Spark ile olay akışının nasıl okunmasını gösteren ekran görüntüsü.

    2. Yeni oluşturulan kod hücresinde, olay akışından akış verilerini okumak için aşağıdaki PySpark kod parçacığını kullanabilirsiniz:

      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()
      

      ve eventstream.itemid seçeneklerinin eventstream.datasourceid değeri, bu kod hücresinin üzerindeki parametre kodu hücresinde otomatik olarak doldurulur.

      Uyarı

      Spark ile Okuma kısmında her seçim için, gerekli parametreler otomatik olarak doldurulmuş yeni bir kod hücresi oluşturulur ve Eventstream öğesi için, her Not Defteri konumunun benzersiz olduğu yeni bir Not Defteri konumu oluşturulur. Bir not defteri öğesi için, birden çok hedef oluşturmamak için bunu bir Olay Akışı öğesi için bir kez hedef olarak ayarlamanızı öneririz.

      Herhangi bir işi çalıştırmadan önce, Eventstream öğesinin bağlam menüsündeki Verileri önizle düğmesine tıklayarak akış verilerinin önizlemesini de görebilirsiniz. Not defterinin yanında akış verilerinin anlık görüntüsünü göstermek için bir yan panel açılır.

      Bağlam menüsünden Eventstream verilerini önizlemeyi gösteren ekran görüntüsü.

  3. Not defterini hedef olarak ekleme: Ayrıca, not defterinin içinden Eventstream'e veri alımına başlamak için not defterini Eventstream'in hedefi olarak da ekleyebilirsiniz. Daha fazla bilgi için bkz. Olay akışına Spark Not Defteri hedefi ekleme.

Sonuç

Spark Structured Streaming kullanarak eventstream'i Fabric'te not defterleriyle entegre etmek, gerçek zamanlı verileri sorunsuz işlemenizi ve analiz etmenizi sağlar. Bu makalede belirtilen adımları takip ederek, tanıdık Spark API'leriyle olay akışına kolayca bağlanabilir, akış verilerini okuyabilir ve gerçek zamanlı analizler yapabilirsiniz. Bu entegrasyon, Fabric ekosisteminde gerçek zamanlı uygulamalar oluşturmak ve akış verilerinden içgörüler elde etmek için yeni olanaklar açıyor.

Fabric'te etkinlik akışları ve defterlerle çalışma hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atın