กําหนดค่าการกําหนดค่าโปรไฟล์ทรัพยากรใน Microsoft Fabric

โปรไฟล์ทรัพยากรใน Fabric ช่วยให้คุณใช้ชุดการกําหนดค่า Spark ที่กําหนดไว้ล่วงหน้าสําหรับรูปแบบงานทั่วไป เช่น การประมวลผลที่เน้นการอ่านและเขียนมาก

โปรไฟล์ช่วยลดการปรับแต่ง Spark ด้วยตนเองและให้เส้นทางที่เร็วขึ้นสู่ประสิทธิภาพที่คาดการณ์ได้

ประโยชน์ของโปรไฟล์ทรัพยากร

  • ประสิทธิภาพตามค่าเริ่มต้น: ใช้การตั้งค่า Spark ที่ทดสอบแล้วสําหรับรูปแบบทั่วไป
  • ความยืดหยุ่น: เลือกโปรไฟล์ที่กําหนดไว้ล่วงหน้าหรือใช้การตั้งค่าแบบกําหนดเอง
  • ลดค่าใช้จ่ายในการปรับแต่ง: ลดการเปลี่ยนแปลงการกําหนดค่าการลองผิดลองถูก

หมายเหตุ

  • พื้นที่ทํางาน Fabric ใหม่มีค่าเริ่มต้นเป็น writeHeavy โปรไฟล์
  • ใน writeHeavyVOrder ถูกปิดใช้งานโดยค่าเริ่มต้น และต้องเปิดใช้งานด้วยตนเองเมื่อจําเป็น

โปรไฟล์ทรัพยากรที่พร้อมใช้งาน

โปรไฟล์ กรณีการใช้งาน คุณสมบัติการกําหนดค่า
readHeavyForSpark ปรับให้เหมาะสมสําหรับปริมาณงาน Spark ที่มีการอ่านบ่อย spark.fabric.resourceProfile = readHeavyForSpark
readHeavyForPBI ปรับให้เหมาะสมสําหรับคิวรี Power BI บนตารางเดลต้า spark.fabric.resourceProfile = readHeavyForPBI
writeHeavy ปรับให้เหมาะสมสําหรับการนําเข้าและการเขียนความถี่สูง spark.fabric.resourceProfile = writeHeavy
custom โปรไฟล์ที่ผู้ใช้กําหนดอย่างสมบูรณ์ spark.fabric.resourceProfile = custom

ค่าการกําหนดค่าเริ่มต้นตามโปรไฟล์

โพรไฟล์ทรัพยากร การกําหนดค่า
writeHeavy {"spark.sql.parquet.vorder.default": "false", "spark.databricks.delta.optimizeWrite.enabled": "null", "spark.databricks.delta.optimizeWrite.binSize": "128", "spark.databricks.delta.optimizeWrite.partitioned.enabled": "true"}
readHeavyForPBI {"spark.sql.parquet.vorder.default": "true", "spark.databricks.delta.optimizeWrite.enabled": "true", "spark.databricks.delta.optimizeWrite.binSize": "1g"}
readHeavyForSpark {"spark.databricks.delta.optimizeWrite.enabled": "true", "spark.databricks.delta.optimizeWrite.partitioned.enabled": "true", "spark.databricks.delta.optimizeWrite.binSize": "128"}
custom (ตัวอย่าง: fastIngestProfile) การตั้งค่าที่ผู้ใช้กําหนด เช่น {"spark.sql.shuffle.partitions": "800", "spark.sql.adaptive.enabled": "true", "spark.serializer": "org.apache.spark.serializer.KryoSerializer"}

เคล็ดลับ

ใช้ชื่อโปรไฟล์ที่กําหนดเองที่สื่อความหมาย เช่น fastIngestProfile หรือlowLatencyAnalytics

กําหนดค่าโพรไฟล์ทรัพยากร

คุณสามารถกําหนดค่าโปรไฟล์ที่ระดับสภาพแวดล้อมหรือขณะรันไทม์

กําหนดค่าโปรไฟล์ในสภาพแวดล้อม

ตั้งค่าโปรไฟล์เริ่มต้นสําหรับงาน Spark ทั้งหมดในสภาพแวดล้อม เว้นแต่จะถูกแทนที่ขณะรันไทม์

  1. ไปที่ พื้นที่ทํางาน Fabric ของคุณ
  2. สร้างสภาพแวดล้อมใหม่หรือแก้ไขสภาพแวดล้อมที่มีอยู่
  3. ใน การกําหนดค่า Spark ให้ตั้งค่า spark.fabric.resourceProfile เป็นค่าใดค่าหนึ่งต่อไปนี้:
    • writeHeavy
    • readHeavyForPBI
    • readHeavyForSpark
    • ชื่อโปรไฟล์ที่กําหนดเอง
  4. รักษาสิ่งแวดล้อม

คุณยังสามารถเริ่มต้นจากโปรไฟล์ที่มีอยู่และปรับเปลี่ยนคุณสมบัติเฉพาะได้ตามต้องการ

กําหนดค่าโปรไฟล์ขณะรันไทม์ด้วย spark.conf.set

คุณสามารถแทนที่โปรไฟล์ระหว่างการดําเนินการสมุดบันทึกหรืองาน Spark:

spark.conf.set("spark.fabric.resourceProfile", "readHeavyForSpark")

การกําหนดค่ารันไทม์มีประโยชน์เมื่อส่วนต่างๆ ของปริมาณงานต้องการลักษณะการทํางานที่แตกต่างกัน

หมายเหตุ

ถ้ามีการตั้งค่าคอนฟิกทั้งสภาพแวดล้อมและรันไทม์ การตั้งค่าคอนฟิกรันไทม์จะมีความสําคัญเหนือกว่า

ลักษณะการทํางานเริ่มต้น

พื้นที่ทํางาน Fabric ที่สร้างขึ้นใหม่ทั้งหมดมีค่าเริ่มต้นเป็นwriteHeavy ค่าเริ่มต้นนี้ได้รับการปรับให้เหมาะสมสําหรับปริมาณงานที่มีการนําเข้าจํานวนมาก รวมถึง ETL และการสตรีม

หากปริมาณงานของคุณได้รับการปรับให้เหมาะสมกับการอ่าน (ตัวอย่างเช่น คิวรีแบบโต้ตอบหรือสถานการณ์ Power BI) ให้สลับเป็น readHeavyForSpark หรือ readHeavyForPBI หรือปรับแต่งการตั้งค่าโปรไฟล์

สำคัญ

ในพื้นที่ทํางาน VOrder Fabric ใหม่ จะถูกปิดใช้งานตามค่าเริ่มต้น (spark.sql.parquet.vorder.default=false) เพื่อเพิ่มประสิทธิภาพการประมวลผลที่เขียนหนัก