หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
คุณสามารถใช้คําสั่ง Delta Lake CLONE ใน Microsoft Fabric เพื่อสร้างสําเนาของตารางเดลต้า ณ จุดเวลาที่ระบุ โคลนจะจับตารางต้นทางตามที่มีอยู่เมื่อคุณเรียกใช้คําสั่ง หรือที่เวอร์ชันก่อนหน้าที่คุณระบุด้วยไวยากรณ์การเดินทางข้ามเวลา
การโคลนมีประโยชน์เมื่อคุณต้องการสําเนาตารางที่ปลอดภัยสําหรับการพัฒนา การตรวจสอบความถูกต้อง หรือการทดลอง ตารางต้นฉบับจะไม่ถูกแก้ไข และการเปลี่ยนแปลงที่คุณทํากับโคลนจะไม่ส่งผลต่อตารางต้นฉบับ
โคลนทําอะไร
โคลนสร้างตารางเดลต้าเป้าหมายจากสแนปช็อตตารางเดลต้าต้นทาง คุณสามารถ:
- โคลนเวอร์ชันล่าสุดของตารางต้นฉบับ
- โคลนเวอร์ชันตารางเฉพาะโดยใช้
VERSION AS OF - โคลนจุดเวลาที่เฉพาะเจาะจงโดยใช้
TIMESTAMP AS OF
เนื่องจากโคลนจะยึดตามสแนปช็อต จึงไม่ติดตามการเปลี่ยนแปลงในภายหลังในตารางต้นฉบับโดยอัตโนมัติ
โคลนตื้น
โคลนแบบตื้นจะสร้างตารางเดลต้าใหม่ที่อ้างอิงไฟล์ข้อมูลที่มีอยู่ของตารางต้นทาง Delta Lake คัดลอกข้อมูลเมตาของตารางในเวลาโคลน แต่จะไม่คัดลอกไฟล์ข้อมูลพื้นฐานไปยังที่เก็บข้อมูลใหม่
ใช้โคลนแบบตื้นเมื่อคุณต้องการสําเนาที่รวดเร็วและประหยัดพื้นที่จัดเก็บสําหรับงานที่มีอายุสั้น:
- สร้างแซนด์บ็อกซ์สําหรับการพัฒนา
- สคีมาการทดสอบหรือการเปลี่ยนแปลงการแปลงโดยไม่มีความเสี่ยง
- เรียกใช้การทดสอบกับข้อมูลที่คล้ายกับการผลิต
- สร้างสําเนาชั่วคราวเพื่อแก้ไขปัญหา
- สร้างสแนปช็อต point-in-time สําหรับการตรวจสอบความถูกต้อง
โคลนแบบตื้นมีประสิทธิภาพในการจัดเก็บข้อมูล เนื่องจากแหล่งที่มาและโคลนใช้ไฟล์ข้อมูล OneLake เดียวกัน หลังจากมีโคลนอยู่ การปรับปรุงที่คุณทํากับโคลนจะสร้างแฟ้มใหม่สําหรับโคลน และไม่เปลี่ยนตารางต้นฉบับ
Note
รองรับเฉพาะSHALLOW CLONEในโอเพนซอร์ส Delta Lake และ Fabric
DEEP CLONE ไม่พร้อมใช้งาน
ไวยากรณ์
ใช้รูปแบบไวยากรณ์ต่อไปนี้เพื่อสร้างโคลนตารางเดลต้า
โคลนเวอร์ชันปัจจุบัน
CREATE TABLE target_table SHALLOW CLONE source_table;
โคลนเวอร์ชันเฉพาะ
CREATE TABLE target_table SHALLOW CLONE source_table VERSION AS OF 125;
โคลนจากจุดหนึ่ง
CREATE TABLE target_table SHALLOW CLONE source_table TIMESTAMP AS OF '2026-05-18T08:30:00Z';
แทนที่โคลนที่มีอยู่
ใช้เพื่อ CREATE OR REPLACE TABLE รีเฟรชเป้าหมายโคลนด้วยสแนปช็อตที่ใหม่กว่า:
CREATE OR REPLACE TABLE sandbox.sales_orders_test
SHALLOW CLONE operations.sales_orders;
ทําความเข้าใจสิ่งที่ถูกโคลน
| คอมโพเนนต์ | พฤติกรรม |
|---|---|
| ไฟล์ข้อมูล | อ้างอิงจากไฟล์ OneLake ของตารางต้นฉบับ (ไม่ได้คัดลอก) |
| ข้อมูลพาร์ติชัน | คัดลอก |
| เค้าร่าง | คัดลอก |
| คุณสมบัติของตาราง | คัดลอก |
| การพึ่งพาแหล่งที่มาหลังจากโคลน | ใช่ - การโคลนขึ้นอยู่กับไฟล์ข้อมูลของแหล่งที่มาที่เหลืออยู่ |
| ที่มา: ประวัติบันทึกเดลต้า | ไม่ถูกคัดลอกไปยังประวัติตารางเป้าหมาย โคลนเริ่มบันทึกเดลต้าของตัวเอง |
ใช้โคลนสําหรับสถานการณ์ทั่วไป
ใช้การโคลนตารางเดลต้าเมื่อคุณต้องการ:
- สร้างสภาพแวดล้อม Sandbox สําหรับการพัฒนา
- การเปลี่ยนแปลง Schema การทดสอบโดยไม่มีความเสี่ยงต่อตารางต้นทาง
- ตรวจสอบความถูกต้องของการแปลงกับสแนปช็อตการผลิต
- สร้างสําเนา point-in-time สําหรับการแก้ไขข้อบกพร่องหรือการตรวจสอบ
- จัดเตรียมสแนปช็อตแบบอ่านอย่างเดียวสําหรับทีมดาวน์สตรีม
ข้อควรพิจารณาเกี่ยวกับ OneLake
โคลนแบบตื้นแชร์ไฟล์ OneLake พื้นฐานกับตารางต้นทาง การออกแบบนี้ทําให้โคลนตื้นรวดเร็วและประหยัดในการจัดเก็บ แต่ก็หมายความว่าโคลนขึ้นอยู่กับไฟล์ตารางต้นฉบับที่เหลืออยู่
โปรดใช้ความระมัดระวังเมื่อคุณเรียกใช้ VACUUM บนตารางต้นทาง หาก VACUUM ลบไฟล์ต้นฉบับที่โคลนตื้นยังคงอ้างอิงโคลนอาจพังได้เนื่องจากไฟล์เหล่านั้นไม่พร้อมใช้งานใน OneLake อีกต่อไป
เมื่อต้องการสร้างสําเนาอิสระที่คงทนซึ่งยังคงอยู่บน VACUUM แหล่งที่มา ให้พิจารณาคัดลอกข้อมูลด้วยการเขียนแบบเต็ม (CREATE TABLE ... AS SELECT) แทนการโคลน