พัฒนาแบบจําลองความหมาย Direct Lake

บทความนี้อธิบายหัวข้อการออกแบบที่เกี่ยวข้องกับการพัฒนาแบบจําลองความหมาย Direct Lake

เลือกโหมดการจัดเก็บข้อมูลที่เหมาะสม

โหมดการจัดเก็บ Direct Lake มีสองรูปแบบ ใช้คําแนะนําต่อไปนี้เพื่อเลือกชนิด Direct Lake ที่เหมาะกับสถานการณ์ของคุณมากที่สุด สําหรับข้อมูลเพิ่มเติม โปรดดู การเปรียบเทียบโหมดการจัดเก็บข้อมูลแบบเต็ม

ใช้ Direct Lake บน OneLake เมื่อ...

  • โดยทั่วไป คุณคาดหวังประสิทธิภาพการสืบค้นที่เร็วขึ้น
  • คุณใช้รายการ Fabric หนึ่งรายการหรือมากกว่าที่ที่เก็บข้อมูล OneLake สามารถแปลงไปยังตาราง Delta ที่ถูกต้องได้ ไม่ว่าจะเป็นแบบเนทีฟหรือผ่านทางลัด
  • คุณต้องการการสร้างแบบจําลองแบบรวมด้วยตารางนําเข้าหรือ DirectQuery
  • คุณต้องการใช้การรักษาความปลอดภัย OneLake
  • คุณต้องมีคุณลักษณะการสร้างแบบจําลอง เช่น คอลัมน์จากการคํานวณหรือตารางจากการคํานวณที่อ้างอิงตาราง Direct Lake (พรีวิว)
  • คุณต้องการลักษณะการทํางาน Direct Lake ที่สอดคล้องกันโดยไม่มี DirectQuery สํารอง (DirectLakeOnly โหมด)

ใช้ Direct Lake บน SQL เมื่อ...

สร้างแบบจําลอง

คุณสามารถสร้างแบบจําลองความหมาย Direct Lake ใน Power BI Desktop หรือจากรายการ Fabric จํานวนมากในเบราว์เซอร์ ตัวอย่างเช่น จาก Lakehouse ที่เปิดอยู่ คุณสามารถเลือก โมเดลความหมายใหม่ เพื่อสร้างโมเดลความหมายใหม่ในโหมดที่เก็บข้อมูล Direct Lake

ตารางต่อไปนี้แสดงวิธีการสร้างที่พบบ่อยที่สุดสําหรับแบบจําลองความหมายของ Direct Lake แต่ละชนิด

รองรับ Direct Lake บน OneLake รองรับ Direct Lake บน SQL
การสร้างจากบริการของ Power BI ตัวอย่างเช่น เลือก สร้าง จากแถบนําทางด้านซ้าย จากนั้นเลือก แค็ตตาล็อก OneLake ใช่ ไม่ใช่
การสร้างจาก Power BI Desktop ใช่ ไม่ใช่
การสร้างจากหน้าตําแหน่งข้อมูลการวิเคราะห์ SQL ตัวอย่างเช่น เปิดตําแหน่งข้อมูลการวิเคราะห์ SQL สําหรับเลคเฮาส์ จากนั้นเลือก แบบจําลองความหมายใหม่ ใช่ ใช่

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

สกรีนช็อตแสดงกล่องโต้ตอบการเลือกชนิด Direct Lake เมื่อสร้างแบบจําลองความหมายจากหน้าจุดสิ้นสุดการวิเคราะห์ SQL

กล่องโต้ตอบนี้มีค่าเริ่มต้นเป็น Direct Lake บน OneLake หากตําแหน่งข้อมูลการวิเคราะห์ SQL อยู่ในโหมดข้อมูลประจําตัวของผู้ใช้ หรือ Direct Lake บน SQL หากตําแหน่งข้อมูลการวิเคราะห์ SQL อยู่ในโหมดที่ได้รับมอบหมาย หากต้องการข้อมูลเพิ่มเติม โปรดดู โหมดการเข้าถึงในตําแหน่งข้อมูลการวิเคราะห์ SQL

อีกวิธีหนึ่งคือ เช่นเดียวกับแบบจําลองความหมายของ Power BI คุณสามารถพัฒนาแบบจําลองของคุณต่อไปได้โดยใช้เครื่องมือที่สอดคล้องกับ XMLA เช่น SQL Server Management Studio (SSMS) (เวอร์ชัน 19.1 หรือใหม่กว่า) หรือเครื่องมือชุมชนโอเพนซอร์ส สมุดบันทึกผ้ายังสามารถสร้างและแก้ไขโมเดลความหมายโดยทางโปรแกรมด้วยแล็บลิงก์ความหมายและลิงก์ความหมาย

ตัวเชื่อมต่อ Power Query

วิธีง่ายๆ ในการบอกว่าโมเดลความหมาย Direct Lake ที่มีอยู่อยู่บน OneLake หรือ SQL คือการตรวจสอบตัวเชื่อมต่อในมุมมอง TMDL จากแท็บ แบบจําลอง ให้ลากโหนด นิพจน์ เพื่อดูข้อกําหนดนิพจน์ M

Direct Lake บน OneLake ใช้ตัวเชื่อมต่อ Azure Data Lake Storage

สกรีนช็อตที่แสดงตัวเชื่อมต่อ Azure Data Lake Storage รุ่น2 ในมุมมอง TMDL สําหรับแบบจําลอง Direct Lake บน OneLake

Direct Lake บน SQL ใช้ตัวเชื่อมต่อ SQL Server หรือตัว OneLake.SqlAnalytics() เชื่อมต่อ

สกรีนช็อตที่แสดงตัวเชื่อมต่อ SQL Server ในมุมมอง TMDL สําหรับแบบจําลอง Direct Lake บน SQL

โมเดลคอมโพสิต Direct Lake

Direct Lake บน OneLake ช่วยให้สามารถสร้างแบบจําลองแบบรวมหลายแหล่งที่มาที่รวมตารางในโหมด Direct Lake กับตารางอื่นๆ ในโหมดนําเข้า/DirectQuery ซึ่งให้ความยืดหยุ่นอันมีค่าสําหรับตารางมิติในขณะที่ใช้ประโยชน์จาก Direct Lake สําหรับตารางข้อเท็จจริงขนาดใหญ่มากเพื่อหลีกเลี่ยงการรีเฟรชที่มีค่าใช้จ่ายสูงและค่าใช้จ่ายในการจัดการ สําหรับข้อมูลเพิ่มเติม โปรดดูส่วน แบบจําลองความหมายแบบรวมที่มี Direct Lake และ นําเข้าตารางโหมดที่เก็บข้อมูล

ตารางแบบจําลอง

โดยปกติตารางแบบจําลองจะขึ้นอยู่กับตารางในรายการข้อมูล Fabric ต้นทาง Direct Lake บน SQL ยังอนุญาตให้เลือกมุมมอง SQL ได้อีกด้วย คิวรีไปยังตารางแบบจําลองที่ยึดตามมุมมอง SQL จะ ย้อนกลับไปใช้โหมด DirectQuery ซึ่งอาจส่งผลให้ประสิทธิภาพคิวรีช้าลง

Note

ด้วย Direct Lake บน OneLake ตารางที่ยึดตามมุมมอง SQL สามารถเพิ่มได้โดยใช้โหมดที่เก็บข้อมูลอื่นๆ เช่น นําเข้าและ/หรือ DirectQuery เนื่องจาก Direct Lake บน OneLake รองรับแบบจําลองแบบรวม

ตารางควรประกอบด้วยคอลัมน์สําหรับการกรอง การจัดกลุ่ม การเรียงลําดับ และการสรุป นอกเหนือจากคอลัมน์ที่สนับสนุนความสัมพันธ์ของแบบจําลอง

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

สําหรับข้อมูลเกี่ยวกับการบังคับใช้กฎการเข้าถึงข้อมูลด้วยการรักษาความปลอดภัยระดับออบเจ็กต์ (OLS) และการรักษาความปลอดภัยระดับแถว (RLS) โปรดดู รวมการรักษาความปลอดภัย Direct Lake

เมตาดาต้าแบบจําลอง Direct Lake

เมื่อคุณเชื่อมต่อกับแบบจําลองความหมาย Direct Lake ด้วยตําแหน่งข้อมูล XMLA เมตาดาต้าจะมีลักษณะเหมือนกับแบบจําลองอื่น ๆ อย่างไรก็ตาม แบบจําลอง Direct Lake แสดงความแตกต่างดังต่อไปนี้:

  • คุณสมบัติ compatibilityLevel ของวัตถุฐานข้อมูลคือ 1604 (หรือสูงกว่า)
  • คุณสมบัติโหมดของพาร์ติชัน Direct Lake ถูกตั้งค่าเป็น directLake
  • พาร์ติชัน Direct Lake ใช้นิพจน์ที่ใช้ร่วมกันเพื่อกําหนดแหล่งข้อมูล
    • Direct Lake บน SQL — นิพจน์ชี้ไปที่จุดสิ้นสุดการวิเคราะห์ SQL ของเลคเฮาส์หรือคลังสินค้า Direct Lake ใช้จุดสิ้นสุดการวิเคราะห์ SQL เพื่อค้นหา schema และข้อมูลความปลอดภัย แต่จะโหลดข้อมูลโดยตรงจาก OneLake (เว้นแต่ว่าจะ ย้อนกลับไปยังโหมด DirectQuery ไม่ว่าด้วยเหตุผลใดก็ตาม)
    • ทะเลสาบโดยตรงบน OneLake — นิพจน์ชี้ไปยังตําแหน่งที่เก็บข้อมูล OneLake ของแหล่งข้อมูล Fabric โดยตรง Direct Lake ใช้ OneLake API สําหรับการค้นหาสคีมา การตรวจสอบความปลอดภัย และการโหลดข้อมูล Direct Lake บน OneLake จะไม่ถอยกลับไปยังโหมด DirectQuery

ใช้พารามิเตอร์ M กับสายงานการปรับใช้

สําหรับ Direct Lake บน OneLake ให้ใช้พารามิเตอร์ M แบบข้อความเพื่อเปลี่ยนตําแหน่งต้นทางของ OneLake ระหว่างขั้นตอนของการติดตั้ง pipeline กฎแหล่งข้อมูลไม่รองรับการผูกการเชื่อมต่อเหล่านี้ใหม่ แต่กฎพารามิเตอร์สามารถตั้งค่าพารามิเตอร์สําหรับแต่ละขั้นตอนเป้าหมายได้ การนําโมเดลเชิงความหมายของ Direct Lake ไปใช้ไม่ได้ผูกมันกับบ้านพักริมทะเลสาบหรือโกดังในขั้นตอนเป้าหมายโดยอัตโนมัติ

ตัวอย่าง Tabular Model Definition Language (TMDL) ต่อไปนี้กําหนดพารามิเตอร์ข้อความสําหรับ ID workspace และ lakehouse และอ้างอิงในนิพจน์การเชื่อมต่อ:

createOrReplace
	expression 'DirectLake - Sales' =
			let
			    Source = AzureStorage.DataLake("https://onelake.dfs.fabric.microsoft.com/" & WorkspaceId & "/" & LakehouseId, [HierarchicalNavigation = true])
			in
			    Source

	expression WorkspaceId = "<workspace-id>" meta [IsParameterQuery = true, IsParameterQueryRequired = true, Type = "Text"]

	expression LakehouseId = "<lakehouse-id>" meta [IsParameterQuery = true, IsParameterQueryRequired = true, Type = "Text"]

หากต้องการพารามิเตอร์ URL เต็มแทน ให้แทนที่พารามิเตอร์ ID สองตัวด้วยนิพจน์นี้:

expression OneLakeSourceUrl = "https://onelake.dfs.fabric.microsoft.com/<workspace-id>/<item-id>" meta [IsParameterQuery = true, IsParameterQueryRequired = true, Type = "Text"]

ในนิพจน์การเชื่อมต่อ Direct Lake ให้ใช้ AzureStorage.DataLake(OneLakeSourceUrl, [HierarchicalNavigation = true]). แทนที่ตัวแทนด้วยรหัสพื้นที่ทํางานและบ้านพักริมทะเลสาบหรือโกดัง เมื่อเพิ่มพารามิเตอร์ลงในสคริปต์ก่อนหน้า ให้เยื้องการประกาศของมันในระดับเดียวกับนิพจน์การเชื่อมต่อ กําหนดค่ากฎ OneLakeSourceUrl พารามิเตอร์การปรับใช้หนึ่งกฎแทนกฎแยกสําหรับ ID

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

  1. ในแบบ จําลองเว็บ ให้ไปที่ มุมมอง TMDL และเปิดนิพจน์ที่ใช้ร่วมกันซึ่งมี AzureStorage.DataLake การเชื่อมต่อ

  2. เพิ่มนิพจน์พารามิเตอร์ข้อความและอัปเดตนิพจน์การเชื่อมต่อตามตัวอย่าง คงชื่อ คําอธิบายประกอบ และตัวเลือกการเชื่อมต่อเพิ่มเติมของนิพจน์การเชื่อมต่อที่มีอยู่ไว้ไว้ เพื่อให้พาร์ติชันที่มีอยู่ยังคงอ้างอิงถึงนิพจน์นั้น แทนที่<workspace-id><lakehouse-id>ด้วย และ ด้วย ID workspace ต้นทางและ lakehouse ไม่ใช่ URL ทั้งหมด สําหรับแหล่งที่มาของคลังสินค้า ให้ใช้WarehouseIdพารามิเตอร์ที่มีรหัสคลังสินค้าและอ้างอิงแทนLakehouseId อย่าใช้ SQL analytics endpoint ID การประกาศทั้งหมด expression ต้องอยู่ในระดับการเยื้องเดียวกัน

  3. ใช้สคริปต์ พารามิเตอร์ต้องมีชนิดข้อมูล Text เพื่อใช้ในการผูกใหม่ผ่านกฎพารามิเตอร์ การเชื่อมต่อหลายรายการสามารถแชร์พารามิเตอร์ workspace โดยใช้พารามิเตอร์ item ID แยกกัน

  4. ในขั้นตอน target pipeline ให้กําหนดค่า กฎพารามิเตอร์การปรับใช้ สําหรับแต่ละค่าที่เปลี่ยนแปลง ตัวอย่างเช่น ตั้งค่า WorkspaceId เป็น ID พื้นที่ทํางานเป้าหมายและ LakehouseId ID บ้านพักทะเลสาบเป้าหมาย ถ้าโมเดลยังไม่อยู่ในขั้นตอนเป้าหมาย ให้นําโมเดลไปติดตั้งที่นั่นก่อนเพื่อที่คุณจะได้กําหนดค่ากฎ

  5. ปรับใช้โมเดลเชิงความหมายจากขั้นตอนต้นทางไปยังขั้นตอนเป้าหมายเพื่อใช้กฎ รีเฟรชโมเดลเป้าหมายและตรวจสอบว่ามันสอบถามแหล่งที่มาที่ต้องการหรือไม่

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

สําหรับโมเดลคอมโพสิต คุณสามารถสร้างพารามิเตอร์ข้อความใน Power Query แทน TMDL ได้ นิพจน์การเชื่อมต่อ Direct Lake ไม่มีใน Power Query หลังจากสร้างพารามิเตอร์แล้ว ให้อัปเดตนิพจน์นั้นใน มุมมอง TMDL เช่นเดียวกับขั้นตอนก่อนหน้า

งานหลังการเผยแพร่

หลังจากที่คุณเผยแพร่แบบจําลองความหมาย Direct Lake คุณควรทํางานการตั้งค่าบางอย่างให้เสร็จสมบูรณ์ สําหรับข้อมูลเพิ่มเติม ดูจัดการแบบจําลองความหมาย Direct Lake