รับข้อมูลการสตรีมลงใน lakehouse และการเข้าถึงด้วยจุดสิ้นสุดการวิเคราะห์ SQL

การเริ่มต้นอย่างรวดเร็วนี้อธิบายวิธีสร้างนิยามงาน Spark ที่มีโค้ด Python ด้วย Spark Structured Streaming เพื่อให้ข้อมูลถูกส่งไปยังบ้านพักริมทะเลสาบและส่งผ่าน SQL analytics endpoint หลังจากเริ่มต้นอย่างรวดเร็วนี้เสร็จ คุณจะมีการกําหนดงาน Spark ที่ทํางานอย่างต่อเนื่อง และ SQL analytics endpoint จะสามารถดูข้อมูลที่เข้ามาได้

สร้างสคริปต์ Python

ใช้สคริปต์ Python ต่อไปนี้เพื่อสร้างตาราง Delta การสตรีมในเลคเฮ้าส์โดยใช้ Apache Spark สคริปต์จะอ่านสตรีมของข้อมูลที่สร้างขึ้น (หนึ่งแถวต่อวินาที) และเขียนในโหมดผนวกไปยังตาราง Delta ที่ชื่อว่าstreamingtable ซึ่งจัดเก็บข้อมูลและจุดตรวจสอบในเลคเฮ้าส์ที่ระบุ

  1. ใช้รหัส Python ต่อไปนี้ที่ใช้ Spark ที่มีโครงสร้างการสตรีมเพื่อรับข้อมูลในตารางเลคเฮ้าส์

    from pyspark.sql import SparkSession
    
    if __name__ == "__main__":
     # Start Spark session
     spark = SparkSession.builder \
         .appName("RateStreamToDelta") \
         .getOrCreate()
    
     # Table name used for logging
     tableName = "streamingtable"
    
     # Define Delta Lake storage path
     deltaTablePath = f"Tables/{tableName}"
    
     # Create a streaming DataFrame using the rate source
     df = spark.readStream \
         .format("rate") \
         .option("rowsPerSecond", 1) \
         .load()
    
     # Write the streaming data to Delta
     query = df.writeStream \
         .format("delta") \
         .outputMode("append") \
         .option("path", deltaTablePath) \
         .option("checkpointLocation", f"{deltaTablePath}/_checkpoint") \
         .start()
    
     # Keep the stream running
     query.awaitTermination()
    
  2. บันทึกสคริปต์ของคุณเป็นไฟล์ Python (.py) ภายในเครื่องคอมพิวเตอร์ของคุณ

สร้างเลคเฮ้าส์

ใช้ขั้นตอนต่อไปนี้เพื่อสร้างเลคเฮาส์:

  1. ลงชื่อเข้าใช้พอร์ทัล Fabric

  2. นําทางไปยังพื้นที่ทํางานที่คุณต้องการหรือสร้างใหม่ถ้าจําเป็น

  3. เมื่อต้องการสร้างเลคเฮาส์ ให้เลือก รายการใหม่ จากพื้นที่ทํางาน จากนั้นเลือก เลคเฮาส์ ในแผงที่เปิดขึ้น

    สกรีนช็อตที่แสดงกล่องโต้ตอบของเลคเฮ้าส์ใหม่

  4. ป้อนชื่อเลคเฮาส์ของคุณแล้วเลือกสร้าง

สร้างข้อกําหนดงาน Spark

ใช้ขั้นตอนต่อไปนี้เพื่อสร้างนิยามงาน Spark:

  1. จากพื้นที่ทํางานเดียวกันกับที่คุณสร้างเลคเฮาส์ ให้เลือก รายการใหม่

  2. ในแผงที่เปิดขึ้น ภายใต้ รับข้อมูล ให้เลือก ข้อกําหนดงาน Spark

  3. ป้อนชื่อคํานิยามงาน Spark ของคุณแล้วเลือก สร้าง

  4. เลือก อัปโหลด และเลือกไฟล์ Python ที่คุณสร้างขึ้นในขั้นตอนก่อนหน้า

  5. ภายใต้ การอ้างอิงเลคเฮาส์ ให้เลือกเลคเฮาส์ที่คุณสร้างขึ้น

ตั้งค่านโยบาย Retry สําหรับการกําหนดงาน Spark

ใช้ขั้นตอนต่อไปนี้เพื่อตั้งค่านโยบายการลองใหม่สําหรับข้อกําหนดงาน Spark ของคุณ:

  1. จากเมนูด้านบน ให้เลือกไอคอนการตั้งค่า

    สกรีนช็อตที่แสดงไอคอนการตั้งค่า Spark Job Definition

  2. เปิดแท็บ การเพิ่มประสิทธิภาพ และตั้งค่า เปิดนโยบายลองใหม่

    สกรีนช็อตแสดงแท็บการเพิ่มประสิทธิภาพข้อกําหนดงาน Spark

  3. กําหนดความพยายามสูงสุดอีกครั้งหรือเลือก อนุญาตให้พยายามไม่จํากัด

  4. ระบุเวลาระหว่างการลองอีกครั้งแต่ละครั้ง แล้วเลือกใช้

Note

มีขีดจํากัดตลอดอายุการใช้งาน 90 วันสําหรับการตั้งค่านโยบายลองใหม่ เมื่อเปิดใช้งานนโยบายการลองใหม่ งานจะถูกรีสตาร์ตตามนโยบายภายใน 90 วัน หลังจากช่วงเวลานี้ นโยบายการลองใหม่จะหยุดทํางานโดยอัตโนมัติและงานจะถูกยุติลง จากนั้นผู้ใช้จะต้องรีสตาร์ทงานด้วยตนเองซึ่งจะเปิดใช้งานนโยบายลองใหม่อีกครั้ง

ดําเนินการและตรวจสอบการกําหนดงาน Spark

  1. จากเมนูด้านบน ให้เลือกไอคอนเรียกใช้

    สกรีนช็อตที่แสดงไอคอนเรียกใช้ Spark Job Definition

  2. ตรวจสอบว่า มีการส่งข้อกําหนด งาน Spark สําเร็จและเรียกใช้งานหรือไม่

ดูข้อมูลโดยใช้จุดสิ้นสุดการวิเคราะห์ SQL

หลังจากสคริปต์ทํางาน ตารางชื่อ streamingtable ที่มีการ ประทับเวลา และคอลัมน์ ค่า จะถูกสร้างขึ้นในเลคเฮาส์ คุณสามารถดูข้อมูลโดยใช้จุดสิ้นสุดการวิเคราะห์ SQL:

  1. จากพื้นที่ทํางาน เปิดบ้านริมทะเลสาบของคุณ

  2. สลับไปยัง จุดสิ้นสุดการวิเคราะห์ SQL จากมุมบนขวา

  3. จากบานหน้าต่างนําทางด้านซ้าย ขยาย Schemas > dbo >Table เลือก streamingtable เพื่อแสดงตัวอย่างข้อมูล