สืบค้น eventstream ใน Microsoft Fabric จากโน้ตบุ๊กด้วย Spark Structured Streaming

Eventstream ใน Microsoft Fabric เป็นบริการรับข้อมูลและสตรีมเหตุการณ์ที่จัดการอย่างเต็มรูปแบบ ซึ่งช่วยให้สามารถประมวลผลและวิเคราะห์ข้อมูลแบบเรียลไทม์ได้ คุณสามารถผสานรวม eventstream กับโน้ตบุ๊ก Fabric โดยใช้ Spark Structured Streaming เพื่อประมวลผลและวิเคราะห์ข้อมูลสตรีมแบบเรียลไทม์

การผสานรวมนี้ช่วยให้คุณสํารวจ eventstream และแหล่งข้อมูลเรียลไทม์อื่น ๆ ผ่าน Real-Time hub ได้โดยตรงจากสมุดบันทึก Fabric ของคุณ คุณยังสามารถสร้างสตรีมเหตุการณ์ใหม่และเริ่มรับข้อมูลจากแหล่งสตรีมมิ่งเกือบ 30 แห่ง (และกําลังเพิ่มขึ้น) รวมถึงฐานข้อมูลที่รองรับ CDC, ตัวจัดการข้อความ, บริการสตรีมมิ่ง และฟีดสาธารณะ โมเดลการเขียนโปรแกรมใหม่ช่วยให้คุณเชื่อมต่อกับ eventstream อ่านข้อมูลสตรีม และวิเคราะห์แบบเรียลไทม์ได้อย่างง่ายดายโดยใช้ Spark API ที่คุ้นเคยโดยไม่ต้องใช้สตริงการเชื่อมต่อหรือข้อมูลรับรองใด ๆ ทําให้การสร้างแอปพลิเคชันแบบเรียลไทม์ปลอดภัยยิ่งขึ้น

ข้อกําหนดเบื้องต้น

ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีข้อกําหนดเบื้องต้นดังต่อไปนี้:

  • พื้นที่ทํางาน Fabric ที่เปิดใช้งาน eventstream
  • สภาพแวดล้อมโน้ตบุ๊กที่ตั้งค่าด้วย Fabric
  • ความรู้พื้นฐานเกี่ยวกับ Spark Structured Streaming และ PySpark หรือ Scala

ขั้นตอนในการสืบค้น Eventstream จากสมุดบันทึก

  1. ค้นพบและเพิ่มสตรีมเหตุการณ์ลงในสมุดบันทึก:

    1. เปิดสมุดบันทึก Microsoft Fabric ของคุณ

    2. เลือก เพิ่มรายการข้อมูล ภายใต้แท็บ รายการข้อมูล จากนั้นเลือก จากฮับ Real-Time จากเมนูแบบเลื่อนลง

    3. ในกล่องโต้ตอบฮับ Real-Time ให้ค้นหาสตรีมเหตุการณ์เป้าหมายที่คุณต้องการสืบค้นด้วยตัวเลือกการค้นหาและตัวกรองต่างๆ

    4. เพิ่มสตรีมเหตุการณ์ไปยังสภาพแวดล้อมสมุดบันทึกของคุณ

      สกรีนช็อตแสดงวิธีการค้นหา eventstream ในฮับ Real-Time

      หลังจากเพิ่มรายการ eventstream แล้ว รายการนั้นจะปรากฏภายใต้โหนด ฮับReal-Time ใน Notebook Object Explorer ของคุณพร้อมชื่อรายการ หลังจากขยายโหนด คุณจะเห็นสตรีมเริ่มต้นหรือสตรีมที่ได้รับภายในรายการ eventstream

      สกรีนช็อตแสดงสตรีมเหตุการณ์ที่เพิ่มในตัวสํารวจวัตถุสมุดบันทึก

  2. อ่านข้อมูลการสตรีมจากสตรีมเหตุการณ์:

    1. จากเมนูบริบทของรายการ eventstream ในตัวสํารวจวัตถุ ให้เลือก อ่านด้วย Spark เพื่อสร้างเซลล์โค้ดที่กําหนดค่าไว้ล่วงหน้าเพื่ออ่านจากสตรีมเหตุการณ์ที่เลือก

      สกรีนช็อตแสดงวิธีการอ่าน eventstream ด้วย Spark จากเมนูบริบท

    2. ในเซลล์โค้ดที่สร้างขึ้นใหม่ คุณสามารถใช้ส่วนย่อยของโค้ด PySpark ต่อไปนี้เพื่ออ่านข้อมูลการสตรีมจากสตรีมเหตุการณ์:

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

      ค่าของตัวเลือก eventstream.itemid และ eventstream.datasourceid จะถูกเติมโดยอัตโนมัติในเซลล์รหัสพารามิเตอร์เหนือเซลล์รหัสนี้

      Note

      สําหรับการเลือกแต่ละรายการใน อ่านด้วย Spark เซลล์โค้ดใหม่จะถูกสร้างขึ้นพร้อมกับพารามิเตอร์ที่จําเป็นที่กรอกโดยอัตโนมัติ และปลายทางของสมุดบันทึกใหม่จะถูกสร้างขึ้นสําหรับรายการ Eventstream โดยที่ eventstream.datasourceid ปลายทางของสมุดบันทึกแต่ละรายการจะไม่ซ้ํากัน สําหรับรายการสมุดบันทึกหนึ่งรายการ เราขอแนะนําให้คุณตั้งค่าเป็นปลายทางหนึ่งครั้งสําหรับรายการ Eventstream หนึ่งรายการเพื่อหลีกเลี่ยงการสร้างปลายทางหลายรายการ

      ก่อนเรียกใช้งานใดๆ คุณยังสามารถดูตัวอย่างข้อมูลการสตรีมได้โดยคลิกที่ปุ่มแสดง ตัวอย่างข้อมูล ในเมนูบริบทของรายการ Eventstream แผงด้านข้างจะเปิดขึ้นเพื่อแสดงสแนปช็อตของข้อมูลการสตรีมข้างโน้ตบุ๊ก

      สกรีนช็อตแสดงวิธีการดูตัวอย่างข้อมูล Eventstream จากเมนูบริบท

  3. เพิ่มสมุดบันทึกเป็นปลายทาง: คุณยังสามารถเพิ่มสมุดบันทึกเป็นปลายทางสําหรับ Eventstream เพื่อเริ่มนําเข้าข้อมูลลงใน Eventstream จากภายในสมุดบันทึก สําหรับข้อมูลเพิ่มเติม โปรดดู เพิ่มปลายทางสมุดบันทึก Spark ไปยังสตรีมเหตุการณ์

บทสรุป

การผสานรวม eventstream ใน Fabric กับโน้ตบุ๊กโดยใช้ Spark Structured Streaming ช่วยให้คุณประมวลผลและวิเคราะห์ข้อมูลแบบเรียลไทม์ได้อย่างไร้รอยต่อ โดยทําตามขั้นตอนที่ระบุไว้ในบทความนี้ คุณสามารถเชื่อมต่อกับ eventstream อ่านข้อมูลสตรีม และวิเคราะห์แบบเรียลไทม์ได้อย่างง่ายดายโดยใช้ Spark API ที่คุ้นเคย การผสานรวมนี้เปิดโอกาสใหม่ ๆ ในการสร้างแอปพลิเคชันแบบเรียลไทม์และได้รับข้อมูลเชิงลึกจากการสตรีมข้อมูลภายในระบบนิเวศ Fabric

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการทํางานกับ eventstreams และโน้ตบุ๊กใน Fabric โปรดดูแหล่งข้อมูลต่อไปนี้