หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ตาราง Delta ใน Microsoft Fabric สามารถรองรับ Spark, SQL analytics endpoint, Power BI Direct Lake, Warehouse และประสบการณ์ Fabric อื่น ๆ จากข้อมูลที่จัดเก็บใน OneLake ประสิทธิภาพที่เหมาะสมระหว่างงานข้ามประเภทขึ้นอยู่กับสองปัจจัย:
- งานที่สร้างและดูแลตาราง
- เครื่องยนต์ที่ใช้ตาราง
ตาราง Lakehouse มักถูกจัดการโดย Spark, Fabric pipeline Copy activity หรือ Dataflow Gen2 Spark เป็นตัวเขียนที่พบมากที่สุดและให้การควบคุมการจัดวางและบํารุงรักษาที่กว้างที่สุด การมิเรอร์คลังสินค้าและฐานข้อมูลจัดการการจัดวางทางกายภาพโดยอัตโนมัติ แคตตาล็อกที่สะท้อนจะยังคงรูปแบบที่จัดการในระบบต้นทาง ความต้องการของผู้บริโภคโดยทั่วไปสามารถเข้ากันได้ แต่ Power BI Direct Lake มีความต้องการจัดเก็บข้อมูลเพิ่มเติมเพื่อประสิทธิภาพสูงสุด
ใช้ตารางแชร์เดียวเมื่อข้อกําหนดของมันสอดคล้องกัน สําหรับข้อยกเว้นที่จัดเต็มตารางอื่น ดูที่ เมื่อสร้างตารางใหม่
เข้าใจการเป็นเจ้าของเลย์เอาต์
เริ่มต้นด้วยการระบุว่างานใดเป็นเจ้าของการจัดวางตารางทางกายภาพ การควบคุมในตารางต่อไปนี้เป็นการควบคุมสําคัญที่เกี่ยวข้องกับการจัดวางและการบํารุงรักษาตารางข้ามภาระงาน ไม่ใช่รายการความสามารถของแต่ละเครื่องยนต์อย่างครบถ้วน
| ที่เก็บข้อมูล | วิธีเขียนหรือการนําเข้า | การจัดวางและการดูแลรักษา | ปุ่มควบคุม |
|---|---|---|---|
| Lakehouse | Spark | จัดการโดยผู้ใช้ |
ขนาดไฟล์: ขนาดไฟล์เป้าหมายแบบปรับตัวและเป้าหมายการบีบอัดระดับไฟล์ การเขียนและบํารุงรักษา: เวกเตอร์ลบ, การบีบอัดอัตโนมัติ, การเพิ่มประสิทธิภาพการเขียน, OPTIMIZE, และVACUUM การจัดระเบียบข้อมูล: การจัดกลุ่มของเหลว, การแบ่งพาร์ติชัน, Z-Order และ V-Order |
| Lakehouse | Fabric pipeline Copy activity หรือ Dataflow Gen2 | บริการนี้จะเขียนข้อมูล; เจ้าของบ้านริมทะเลสาบดูแลโต๊ะอาหาร | การตั้งค่าการเขียนเฉพาะปลายทาง ดําเนินการบํารุงรักษาที่เข้ากันได้แยกต่างหากโดยใช้ Spark, การบํารุงรักษา Lakehouse หรือกิจกรรมบํารุงรักษาท่อส่ง |
| คลังสินค้า | Fabric คลังข้อมูล, Fabric pipeline Copy activity หรือ Dataflow Gen2 | จัดการคลังสินค้า | การจัดกลุ่มข้อมูลและการตั้งค่า V-Order ระดับคลังสินค้า |
| รายการที่สะท้อน | บริการมิเรอร์ | ขึ้นอยู่กับ ประเภทการสะท้อน | การมิเรอร์ฐานข้อมูลใช้การจัดวาง V-Ordered Delta ที่จัดการโดยระบบโดยไม่มีการควบคุมการจัดวางโดยตรง แคตตาล็อกที่สะท้อนจะยังคงรูปแบบไฟล์ต้นฉบับ ซึ่งคุณสามารถปรับแต่งในระบบต้นทางเมื่อได้รับการสนับสนุน |
คําแนะนําข้ามภาระงาน
ตารางต่อไปนี้สรุปแนวทางที่แนะนําโดยผู้ผลิตและผู้บริโภค
| ผู้ผลิต | ผู้บริโภค | วิธีการที่แนะนํา |
|---|---|---|
| Lakehouse: นักเขียนประกายไฟ | Spark | ใช้ค่าเริ่มต้นของ Fabric Spark runtime 2.0 หรือใหม่กว่า และเปิดใช้งานการบีบอัดอัตโนมัติ พิจารณาการจัดกลุ่มของเหลวเมื่อเงื่อนไขที่วัดได้จะได้รับประโยชน์จากการปรับปรุงการข้ามไฟล์ |
| Lakehouse: นักเขียนประกายไฟ | จุดสิ้นสุดการวิเคราะห์ SQL | ใช้รูปแบบเดียวกับที่แนะนําสําหรับ Spark อย่าตั้งขนาดไฟล์เป้าหมายแบบคงที่ จํากัดแถว หรือ V-Order เพียงเพื่อประสิทธิภาพของ SQL analytics endpoint เท่านั้น |
| Lakehouse: นักเขียนประกายไฟ | Power BI Direct Lake | ใช้รูปแบบเดียวกับที่แนะนําสําหรับ Spark และเปิดใช้งาน V-Order เพิ่มเติม หรือใช้readHeavyForPBIโปรไฟล์ทรัพยากร |
| Lakehouse: Fabric pipeline หรือ Dataflow Gen2 writer | Spark, ปลายทางวิเคราะห์ SQL หรือ Power BI Direct Lake | ตรวจสอบการจัดวางไฟล์ที่เกิดขึ้นและกําหนดเวลาการบํารุงรักษาบ้านพักริมทะเลสาบที่รองรับแยกกัน โหมดปลายทางบางโหมด เช่น Dataflow Gen2 incremental refresh จะมีข้อจํากัดในการบํารุงรักษา |
| คลังสินค้า | Fabric คลังข้อมูล หรือ Spark | ใช้เลย์เอาต์ที่จัดการโดยระบบ Fabric คลังข้อมูล จัดการการบดอัดและการบํารุงรักษาอื่น ๆ โดยอัตโนมัติ ใช้ การจัดกลุ่มข้อมูล เพื่อปรับปรุงการข้ามไฟล์สําหรับงานที่มีเงื่อนไขเลือกเฉพาะซ้ํา |
| คลังสินค้า | Power BI Direct Lake | คงการตั้งค่า Warehouse V-Order ไว้เป็นค่าเริ่มต้น ใช้ การจัดกลุ่มข้อมูล เมื่อเป็นประโยชน์ต่อรูปแบบการค้นหาที่ใช้ร่วมกัน |
| Mirroring | Spark, ปลายทางวิเคราะห์ SQL หรือ Power BI Direct Lake | สําหรับการมิเรอร์ฐานข้อมูล ให้ใช้รูปแบบ V-Ordered Delta ที่จัดการโดยระบบ สําหรับแคตตาล็อกที่สะท้อน ให้ปรับแต่งไฟล์พื้นฐานในระบบต้นทางเมื่อรองรับ ดูว่า Mirroring in Fabric คืออะไร? |
ปรับแต่งตาราง Lakehouse
ตาราง Lakehouse Delta ต้องการกลยุทธ์การบํารุงรักษาที่ชัดเจน ไม่ว่าจะเขียนโดย Spark, Pipeline Copy activity หรือ Dataflow Gen2 Spark เป็นตัวอย่างหลักในส่วนนี้เพราะให้การควบคุมการจัดวางและบํารุงรักษาที่กว้างที่สุดใน Fabric
สำคัญ
การดูแลตารางเป็นสิ่งสําคัญสําหรับประสิทธิภาพการเขียนและอ่านที่ดีที่สุดในทุกเอนจิน แม้แต่งานที่เพิ่มเฉพาะส่วนเสริมซึ่งทํางานได้ดีในช่วงแรกโดยไม่ต้องบํารุงรักษา ก็อาจสะสมไฟล์ขนาดเล็กมากเกินไป ซึ่งส่งผลกระทบต่อ Spark, SQL analytics endpoint, Direct Lake และโปรแกรมอ่านข้อมูลภายนอก ดูวิธีการ อัดโต๊ะ Delta สําหรับการอัดอัตโนมัติ และแบบแมนนวล
ใช้ค่าเริ่มต้นของรันไทม์ Spark
เมื่อ Spark เขียนตาราง ให้ใช้ค่าเริ่มต้นของ Fabric Spark runtime 2.0 หรือใหม่กว่า:
- เปิดใช้งาน ขนาดไฟล์เป้าหมายแบบปรับตัว ได้ มันจะเลือกเป้าหมายสําหรับแต่ละตารางโดยอัตโนมัติตั้งแต่ 128 MB ถึง 1 GB
- เปิดใช้งาน เป้าหมายการบีบอัดไฟล์ในระดับ ไฟล์เพื่อหลีกเลี่ยงการเขียนไฟล์ซ้ําที่บรรลุเป้าหมายการปรับเปลี่ยนก่อนหน้า
- เปิดใช้งาน เวกเตอร์การลบ ไว้
- อย่ากําหนดจํานวนแถวสูงสุดต่อไฟล์อย่างอิสระ ความกว้างของแถวแตกต่างกัน ดังนั้นการจํากัดแถวอาจสร้างไฟล์ขนาดเล็กเกินไปสําหรับตารางที่แคบ
ใน Fabric Spark runtime 1.3 ขนาดไฟล์เป้าหมายแบบปรับได้, เป้าหมายการบีบอัดระดับไฟล์ และเวกเตอร์การลบมีให้เลือกเป็นการตั้งค่าแบบเลือกเข้า
เมื่อ Pipeline Copy activity หรือ Dataflow Gen2 เขียนตาราง ให้ตรวจสอบเค้าโครงไฟล์ที่ได้และตั้งเวลาบํารุงรักษาแยกต่างหาก อย่าคิดว่าผู้เขียนเหล่านี้จะใช้ค่าเริ่มต้นของ Spark ขณะรันไทม์
- ท่อส่งของ Fabric สามารถจัดการกิจกรรมบํารุงรักษา Lakehouse หลังจากเขียนเสร็จแล้ว
สำคัญ
ปลายทางบ้านพักทะเลสาบ Dataflow Gen2 ที่ใช้การรีเฟรชแบบเพิ่มทีละน้อยไม่รองรับOPTIMIZEหรือREORG TABLE ปฏิบัติตามข้อจํากัดการรีเฟรชแบบเพิ่มขึ้นของ Dataflow Gen2
ป้องกันและบีบอัดไฟล์ขนาดเล็ก
สําหรับตารางที่เขียนโดย Spark ควรเลือกการบีบอัดอัตโนมัติ ฟีเจอร์นี้ประเมินการกระจายตัวของตารางหลังจากเขียนและรันการบีบอัดเฉพาะเมื่อจําเป็นเท่านั้น วิธีนี้ช่วยขจัดความจําเป็นในการตรวจสอบสุขภาพโต๊ะแยกต่างหากก่อนเริ่มการบํารุงรักษา
ใช้คําแนะนําต่อไปนี้สําหรับข้อยกเว้นและฟีเจอร์เสริม:
| สถานการณ์สมมติ | วิธีการที่แนะนํา |
|---|---|
| ตารางที่เขียนโดย Spark | เปิดใช้งานการ อัดอัตโนมัติ เป็นกลยุทธ์การบํารุงรักษาเริ่มต้น |
| การเขียนแบบสตรีมมิ่งหรือไมโครแบตช์ | เปิดใช้งานการ บีบอัดอัตโนมัติ และ ปรับแต่งการเขียน เพื่อลดการสะสมไฟล์ขนาดเล็ก |
| งานที่มีข้อกําหนดความหน่วงในการเขียนอย่างเข้มงวด | ตั้งเวลา OPTIMIZE แยกกันแทนที่จะรันการ บีบอัดอัตโนมัติแบบซิงโครนัส |
| ตารางที่มีอยู่ซึ่งมีไฟล์ขนาดเล็กสะสม | รันครั้งเดียว OPTIMIZEจากนั้นเปิดใช้งานการ อัดอัตโนมัติ สําหรับการบํารุงรักษาต่อเนื่อง |
| ตารางที่มีการอัปเดต ลบ หรือรวมบ่อยครั้ง | เปิดใช้งาน เวกเตอร์ลบ และการ บีบอัดอัตโนมัติ ไว้ |
OPTIMIZE บีบอัดไฟล์และล้างเวกเตอร์ลบไฟล์โดยอัตโนมัติเมื่อมีเวกเตอร์ลบมากกว่า 5% ถูกอ้างอิงด้วยเวกเตอร์ลบ ใช้ REORG TABLE ... APPLY (PURGE) เฉพาะเมื่อคุณต้องลบข้อมูลที่ต่ํากว่าเกณฑ์นั้นหรือต้องปฏิบัติตามข้อกําหนดเฉพาะเท่านั้น
หมายเหตุ
การบีบอัดอัตโนมัติจะล้างเวกเตอร์ลบเฉพาะเมื่อพาร์ติชันนั้นตอบสนองต่อทริกเกอร์ไฟล์ขนาดเล็กด้วย หากงานทํางานทําการอัปเดตหรือลบโดยไม่สร้างไฟล์ขนาดเล็ก ให้ทํางาน OPTIMIZE เป็นระยะเพื่อล้างเวกเตอร์การลบที่มีคุณสมบัติเหมาะสม ใช้ REORG TABLE ... APPLY (PURGE) เมื่อจําเป็นต้องบังคับให้ล้างออกทางกายภาพ
รัน VACUUM ในตารางเวลาแยกต่างหากเพื่อลบไฟล์ที่ไม่ได้อ้างอิงหลังจากช่วงเวลาการเก็บรักษา
VACUUM กู้คืนพื้นที่จัดเก็บแต่ไม่ปรับปรุงการจัดวางไฟล์ที่ใช้งานอยู่
Warning
อย่าลด VACUUM ระยะเวลาการเก็บรักษาโดยไม่ประเมินข้อกําหนดการเดินทางข้ามเวลาและผู้อ่านหรือผู้เขียนที่อ่านพร้อมกัน การลบไฟล์เร็วเกินไปอาจทําให้เวอร์ชันตารางที่จําเป็นไม่สามารถใช้งานได้
จัดระเบียบข้อมูลสําหรับการข้ามไฟล์
การใช้ การจัดกลุ่มของเหลว เมื่อมีการกรองซ้ําหรือรูปแบบการประมวลผล จะได้รับประโยชน์จากการ ข้ามไฟล์ที่ดีขึ้น ตารางแบบคลัสเตอร์แบบของเหลวต้องการ OPTIMIZEหรือ การบีบอัดอัตโนมัติ เพื่อจัดระเบียบข้อมูลที่เขียนใหม่
หลีกเลี่ยงการแบ่งพาร์ติชันโดยค่าเริ่มต้น ใช้เมื่อมีข้อกําหนดเฉพาะที่สมควรต่อการแลกเปลี่ยนในการดําเนินงาน เช่น การแยกตัวเขียนข้อมูลพร้อมกันที่อัปเดต ลบ หรือรวมข้อมูลข้ามพาร์ติชันที่ไม่เชื่อมต่อกัน สําหรับข้อมูลเพิ่มเติม โปรดดูที่ เมื่อใดควรใช้การแบ่งพาร์ติชัน
สําหรับตารางที่แบ่งพาร์ติชันที่มีอยู่แล้ว ให้พิจารณา Z-Order เมื่อพรีดิเคตแบบเลือกได้มักจะกรองบนคอลัมน์เดียวกันภายในพาร์ติชัน
ปรับแต่งตารางที่จัดการโดยคลังสินค้า
Fabric คลังข้อมูล จัดการการจัดวางตาราง Delta ทางกายภาพโดยไม่ขึ้นกับวิธีการนําเข้าข้อมูล
ใช้การควบคุมเชิงกลยุทธ์ที่ Warehouse เปิดเผยเพื่อปรับแต่งการจัดวางข้อมูล:
- ใช้ การจัดกลุ่มข้อมูล กับตารางขนาดใหญ่เมื่อคําสั่งค้นหาใช้เงื่อนไขเฉพาะซ้ํา ๆ ในคอลัมน์เดียวกัน
- เปิดใช้งาน V-Order สําหรับงานที่เน้นการอ่านและงานผสม V-Order เปิดใช้งานโดยค่าเริ่มต้น
- พิจารณา ปิดใช้งาน V-Order สําหรับงานคลังสินค้าที่ต้องใช้การเขียนข้อมูลสูง
Warning
การปิดใช้งาน V-Order เป็นการดําเนินการในระดับคลังสินค้าที่ไม่สามารถย้อนกลับได้ ทดสอบงานอ่านและเขียนทั้งหมดก่อนปิดการใช้งาน
สําหรับคําแนะนําเกี่ยวกับคลังสินค้าอย่างครบถ้วน โปรดดูที่แนวทางประสิทธิภาพใน Fabric คลังข้อมูล
ปรับแต่งข้อมูลที่สะท้อน
ความสามารถในการปรับปรุงการจัดวางทางกายภาพของคุณขึ้นอยู่กับว่า Fabric จะจําลองข้อมูลหรืออ้างอิงไฟล์ต้นทาง:
- การมิเรอร์ฐานข้อมูล: Fabric จะจําลองข้อมูลต้นทางไปยังตาราง Delta ใน OneLake และจัดการการจัดวางและบํารุงรักษาไฟล์ V-Ordered คุณไม่สามารถกําหนดค่าขนาดไฟล์เป้าหมาย การทําความสะอาดเวกเตอร์การลบ การจัดกลุ่มของเหลว การแบ่งพาร์ติชัน หรือ V-Order บนปลายทางที่มิเรอร์ได้โดยตรง
- แคตตาล็อกแบบมิเรอร์: Fabric ซิงโครไนซ์ข้อมูลเมตาและใช้ทางลัด OneLake เพื่ออ้างอิงข้อมูลต้นทางที่มีอยู่ Fabric ไม่ได้เขียนใหม่หรือดูแลไฟล์เหล่านี้ ปรับปรุงการจัดวางและการทําความสะอาดระบบต้นฉบับเมื่อฟีเจอร์ที่รองรับอนุญาต การเปลี่ยนแปลงเหล่านั้นจะเห็นได้ผ่านทางลัดโดยไม่ต้องสร้างสําเนาใหม่ใน Fabric
สําหรับข้อมูลที่สะท้อนในฐานข้อมูล:
- ใช้เงื่อนไขเฉพาะและหลีกเลี่ยงคอลัมน์ที่ไม่จําเป็นในคําสั่ง Spark และ SQL
- ออกแบบโมเดลเชิงความหมายของ Power BI และมาตรการ DAX เพื่อการใช้พลังงาน Direct Lake อย่างมีประสิทธิภาพ
สําหรับแคตตาล็อกแบบมิเรอร์:
- ใช้ฟีเจอร์การดูแลตารางและการจัดวางที่แพลตฟอร์มต้นทางรองรับ
- ประเมินไฟล์ต้นทางและการกระจายกลุ่มแถวสําหรับผู้บริโภค Fabric ที่สอบถามทางลัด
- สําหรับ Direct Lake ให้ประเมินการสร้างเลเยอร์บริการแบบ V-Ordered ที่จําลองมิติเพิ่มเติมเมื่อเลย์เอาต์ต้นทางไม่สามารถตอบสนองความต้องการด้านประสิทธิภาพได้
สําหรับแนวคิด ประเภท และแหล่งข้อมูลที่รองรับการมิเรอร์ ดูที่ What is Mirroring in Fabric? และ How metadata mirroring work.
ใช้การปรับแต่งเฉพาะผู้บริโภค
Spark และ SQL analytics endpoint ทํางานได้ดีบนรูปแบบบ้านริมทะเลสาบแบบปรับเปลี่ยนได้เดียวกัน ใช้ ขนาดไฟล์เป้าหมายแบบปรับตัว ป้องกันไฟล์ขนาดเล็กเกินไป และใช้ การจัดกลุ่มของเหลว เมื่อเงื่อนไขที่วัดได้จะได้รับประโยชน์จากการ ข้ามไฟล์ที่ดีขึ้น อย่าเปิดใช้งาน V-Order เพียงเพื่อประสิทธิภาพของ Spark หรือ SQL analytics เท่านั้น สําหรับรายละเอียดเฉพาะเอนจิน ดูที่ข้อควรพิจารณาด้านประสิทธิภาพของ SQL analytics endpoint
Power BI Direct Lake
Direct Lake ใช้ตาราง Delta พื้นฐานเดียวกันแต่เพิ่มคําแนะนําเกี่ยวกับการแปลงรหัสและการ เฟรมแบบเพิ่มทีละน้อย:
- การจัดวางไฟล์และกลุ่มแถว: หลีกเลี่ยง กลุ่มแถว ขนาดเล็กและการกระจายกลุ่มแถวที่ไม่สม่ําเสมอ ซึ่งจะสร้างส่วนคอลัมน์ของ VertiPaq มากขึ้นและเพิ่มภาระการแปลงไฟล์
-
ลําดับ V: ปฏิบัติตามคําแนะนําเฉพาะผู้ผลิตในแนวทางข้ามภาระงาน สําหรับตารางที่เขียนโดย Spark ซึ่งใช้หลักผ่าน Direct Lake ให้เปิดใช้งาน V-Order หรือใช้
readHeavyForPBIโปรไฟล์ทรัพยากร - รูปแบบการอัปเดต: ควรเลือก รูปแบบการอัปเดตที่เป็นมิตรกับการต่อท้าย เมื่อเป็นไปได้ เพื่อรักษาไฟล์ Parquet ที่มีอยู่และรองรับการจัดกรอบแบบเพิ่มขึ้น
หมายเหตุ
Direct Lake มักจะทําผลงานได้ดีที่สุดเมื่อมีกลุ่มแถวระหว่าง 1 ล้านถึง 16 ล้านแถว ประเมินการกระจายแถวและประสิทธิภาพของ Direct Lake ก่อนเปลี่ยนการตั้งค่าผู้ผลิตที่รองรับ
สําหรับตารางที่เขียนโดย Spark จะ spark.sql.parquet.native.writer.maxRowGroupRowCount ตั้งค่าจํานวนแถวสูงสุดต่อกลุ่มแถวเมื่อ เอนจินประมวลผลต้นฉบับ เขียนไฟล์ Parquet ค่าตั้งต้นคือ 0, ซึ่งไม่ได้กําหนดค่าสูงสุด หากการวิเคราะห์แสดงว่าขนาดกลุ่มแถวส่งผลต่อประสิทธิภาพของ Direct Lake ให้ตั้งขีดจํากัดที่ทดสอบก่อนเขียนหรือเขียนตารางใหม่ ตัวอย่างเช่น:
spark.conf.set("spark.sql.parquet.native.writer.maxRowGroupRowCount", 8_000_000)
อย่าตั้งขีดจํากัดเพียงเพื่อให้ถึงจํานวนแถวที่กําหนดเท่านั้น ความกว้างแถว การบีบอัด การกระจายไฟล์ และความขนานของความจุก็ส่งผลต่อประสิทธิภาพเช่นกัน ใช้ Delta Analyzer เพื่อประเมินเลย์เอาต์ที่ได้
สําหรับคําแนะนําโดยละเอียดเกี่ยวกับการจัดกรอบ การแปลงไฟล์ กลุ่มแถว รูปแบบการอัปเดต และ Delta Analyzer โปรดดูที่ เข้าใจประสิทธิภาพของคําสั่งค้นหา Direct Lake
นําคําแนะนําไปใช้กับเลเยอร์เมดัลเลียน
บรอนซ์ เงิน และทอง หมายถึงวัตถุประสงค์และการปรับปรุงข้อมูล พวกเขาไม่ได้กําหนดว่าเลย์เอาต์นั้นเป็นการจัดการโดยผู้ใช้หรือระบบ และไม่ต้องการสําเนาแยกสําหรับแต่ละผู้ใช้
| ชั้น | เป้าหมายหลัก | คําแนะนําข้ามภาระงาน |
|---|---|---|
| บรอนซ์ (การลงจอด) | รักษาความซื่อสัตย์ของแหล่งและอัตราการรับข้อมูลที่ผ่านเข้าไป | ให้ความสําคัญกับความเร็วในการเขียนในขณะที่ยังคงรักษาตารางที่เขียนโดย Spark ด้วยการบีบอัดอัตโนมัติ หลีกเลี่ยงโมเดลความหมาย Power BI Direct Lake บนตาราง Bronze ดิบ เว้นแต่โมเดลและรูปร่างข้อมูลจะถูกออกแบบมาเพื่อการใช้งานนั้นโดยเฉพาะ |
| เงิน (ดูแล) | ให้ข้อมูลที่ผ่านการตรวจสอบและเป็นไปตามมาตรฐานเพื่อนํากลับมาใช้ใหม่ | นําตารางนี้กลับมาใช้ใหม่กับผู้บริโภค Fabric ที่รองรับ สําหรับตารางบ้านพักที่เขียนโดย Spark ให้เปิดใช้งาน V-Order เฉพาะเมื่อ Direct Lake เป็นผู้บริโภคหลักเท่านั้น |
| ทองคํา (เสิร์ฟ) | ให้บริการมิติ ข้อเท็จจริง ข้อมูลรวม และโมเดลการวิเคราะห์ที่พร้อมสําหรับธุรกิจ | แนะนําให้ใช้เลเยอร์นี้สําหรับโมเดลเชิงความหมายของ Direct Lake นําตารางนี้กลับมาใช้ใหม่ในผู้บริโภคที่เข้ากันได้ และใช้การควบคุมเฉพาะผู้ผลิตที่อธิบายไว้ในบทความนี้ |
แก้ไขปัญหาการจัดวางและการบํารุงรักษา
ใช้วิธีแก้ไขที่คํานึงถึงผู้ผลิต ใช้คําสั่งบํารุงรักษา Spark กับตาราง lakehouse เมื่อโหมดปลายทางรองรับการดําเนินการเหล่านั้น มองสัญญาณเหล่านี้เป็นตัวชี้วัด ไม่ใช่เกณฑ์สากล และตรวจสอบกับรูปแบบการเขียนของตารางและประสิทธิภาพผู้บริโภค
| เงื่อนไข | สัญญาณ | โต๊ะ Lakehouse | ตารางคลังสินค้า |
|---|---|---|---|
| ไฟล์ขนาดเล็กเกินไป | จํานวนไฟล์เพิ่มขึ้นเร็วกว่าขนาดตารางที่ใช้งานอยู่ และไฟล์จะต่ํากว่าเป้าหมายการปรับตัว | ด้วย Spark ให้รันครั้งเดียวOPTIMIZEสําหรับงานค้างที่มีอยู่ จากนั้นเปิดใช้งานการอัดอัตโนมัติ สําหรับการเขียน Pipeline Copy activity หรือ Dataflow Gen2 ให้ตั้งเวลาการบํารุงรักษาบ้านพักริมทะเลสาบที่รองรับแยกต่างหาก |
ไม่มีการกระทํา การอัดคลังสินค้าเป็นไปโดยอัตโนมัติ |
| ไฟล์ขนาดใหญ่เก่า | ไฟล์ยังคงสูงกว่าเป้าหมายการปรับตัวในปัจจุบันมาก และไฟล์ที่น้อยเกินไปจํากัดความขนานในการสแกน | เขียนตารางใหม่โดยใช้การเขียนทับหรือCREATE OR REPLACE TABLE AS SELECTเปิดใช้งานขนาดไฟล์เป้าหมายแบบปรับได้ |
ไม่มีการกระทํา คลังสินค้าจัดการขนาดไฟล์โดยอัตโนมัติ |
| การสะสมเวกเตอร์ลบ |
DESCRIBE HISTORYเมตริกแสดงให้เห็นว่าการลบเวกเตอร์ถูกเพิ่มหรืออัปเดตเร็วกว่าการบีบอัดลบ ซึ่งอาจเพิ่มภาระการอ่าน |
เปิดใช้งานการ อัดอัตโนมัติ ไว้ หากเวกเตอร์การลบสะสมโดยไม่ทําให้เกิดการบีบอัดไฟล์ขนาดเล็ก ให้ตั้งเวลาไว้OPTIMIZE ใช้ REORG TABLE ... APPLY (PURGE) เฉพาะกับข้อกําหนดการลบข้อมูลที่ชัดเจนเท่านั้น |
ไม่มีการกระทํา การทําความสะอาดระบบจัดการ |
| การข้ามไฟล์ที่ไม่ดี | พรีดิเคตแบบเลือกจะสแกนตารางเป็นส่วนใหญ่ หรือ การประเมินคุณภาพการจัดกลุ่ม แสดงการจัดระเบียบที่ไม่ดี | ด้วย Spark สามารถกําหนดค่า การจัดกลุ่มของเหลว หรือใช้ Z-Order สําหรับตารางที่แบ่งพาร์ติชันที่มีอยู่แล้ว | กําหนดค่าการจัดกลุ่มข้อมูลคลังสินค้า |
| การแปลงไฟล์แบบ Direct Lake overhead | Delta Analyzer แสดงไฟล์จํานวนมาก กลุ่มแถวเล็ก หรือการแปลงไฟล์ใหม่อย่างกว้างขวางหลังการอัปเดต | บีบอัดไฟล์ขนาดเล็ก ตรวจสอบ กลุ่มแถว และใช้ V-Order กับตารางที่เขียนโดย Spark สามารถตั้งค่าค ลัสเตอร์ของเหลว เพื่อเพิ่มคุณภาพการบีบอัดภายในไฟล์ Parquet ได้ตามต้องการ | เปิดใช้งาน V-Order และประเมินการจัดกลุ่มข้อมูล |
| การเติบโตของพื้นที่จัดเก็บไฟล์ที่ไม่มีการอ้างอิง | พื้นที่จัดเก็บของ OneLake เติบโตเร็วกว่าขนาดตารางที่ใช้งานอยู่หลังจากมีการเปลี่ยนแปลงข้อมูล | รัน VACUUM ตามข้อกําหนดการเก็บรักษา |
ไม่มีการกระทํา การทําความสะอาดระบบจัดการ |
สําหรับข้อมูลที่สะท้อน ให้ปฏิบัติตามการแก้ไขเฉพาะผู้ผลิตใน Optimize ข้อมูลที่สะท้อน การมิเรอร์ฐานข้อมูลถูกจัดการโดยระบบ; สําหรับแคตตาล็อกที่มิเรอร์ ให้ใช้การบํารุงรักษาที่รองรับในแพลตฟอร์มต้นทาง
สําหรับโต๊ะ lakehouse ตัวเลือกการตรวจสอบที่รองรับ Spark ได้แก่:
- เรียกใช้
DESCRIBE DETAILเพื่อตรวจสอบจํานวนไฟล์ ขนาดรวม และคุณสมบัติที่ประเมินdelta.targetFileSize.adaptive - รันเพื่อ
DESCRIBE HISTORYทบทวนรูปแบบการเขียนและประวัติการบํารุงรักษา - ใช้ Delta Analyzer เมื่อคุณต้องการวิเคราะห์กลุ่มแถวและรูปแบบการอัปเดตของ Direct Lake อย่างละเอียด
ตรวจสอบขนาดไฟล์เฉลี่ย
ใช้ DESCRIBE DETAIL คํานวณขนาดไฟล์เฉลี่ยเป็นตัวบ่งชี้เบื้องต้นของเค้าโครงตาราง:
details = spark.sql("DESCRIBE DETAIL schema_name.table_name").first()
table_size_gb = details["sizeInBytes"] / (1024**3)
num_files = details["numFiles"]
avg_file_size_mb = (
details["sizeInBytes"] / num_files / (1024**2)
if num_files
else 0
)
print(f"Table size: {table_size_gb:.2f} GB")
print(f"Number of files: {num_files}")
print(f"Average file size: {avg_file_size_mb:.2f} MB")
ค่าเฉลี่ยสามารถซ่อนความเอียงระหว่างพาร์ติชันหรือไฟล์ที่บีบอัดล่าสุดและก่อนหน้าได้ หากค่าเฉลี่ยแสดงปัญหาเกี่ยวกับการจัดวาง ให้ตรวจสอบไฟล์ Parquet แต่ละไฟล์ หรือใช้ Delta Analyzer เพื่อประเมินการแจกจ่ายก่อนเปลี่ยนการตั้งค่าบํารุงรักษา
เมื่อใดควรสร้างตารางใหม่
อย่าสร้างตารางทางกายภาพอีกเพียงเพราะเอนจิน Fabric หลายตัวใช้ข้อมูลทั้งหมด
สร้างตารางอื่นเมื่อมีวัตถุประสงค์อิสระ เช่น:
- การเปลี่ยนแปลงหรือการรวมข้อมูลที่เปลี่ยนโครงสร้างหรือความหมายทางธุรกิจของข้อมูล
- ข้อกําหนดด้านความปลอดภัย การเก็บรักษา หรือคุณภาพข้อมูลที่แตกต่างกัน
- ข้อกําหนดความหน่วงหรือรีเฟรชที่ตารางที่ใช้ร่วมกันไม่สามารถตอบสนองได้
- รูปแบบเฉพาะสําหรับผู้บริโภคที่ให้ประโยชน์ที่วัดได้มากกว่าต้นทุนการจัดเก็บ การประมวลผล สายสืบทอด และการกํากับดูแล
เนื้อหาที่เกี่ยวข้อง
- ปรับแต่งขนาดไฟล์ข้อมูลตาราง Delta
- การบีบอัดตารางเดลต้า
- เวกเตอร์การลบสําหรับตารางเดลต้า
- ใช้การจัดกลุ่มของเหลวบนตาราง Delta
- การแบ่งพาร์ติชันสําหรับตาราง Delta
- ปรับแต่งตาราง Delta Lake ด้วย V-Order
- ข้อควรพิจารณาเกี่ยวกับประสิทธิภาพของจุดสิ้นสุดการวิเคราะห์ SQL
- ทําความเข้าใจประสิทธิภาพการสืบค้น Direct Lake
- แนวทางประสิทธิภาพใน Fabric คลังข้อมูล
- การจัดกลุ่มข้อมูลใน Fabric คลังข้อมูล
- การมิเรอร์ใน Fabric คืออะไร