ตรวจสอบข้อมูลเมตาของตารางเดลต้า

ใช้ DESCRIBE DETAIL และ DESCRIBE HISTORY เมื่อคุณต้องการตรวจสอบตารางเดลต้าโดยไม่ต้องเปลี่ยน คําสั่งเหล่านี้ช่วยให้คุณเข้าใจวิธีการจัดเก็บตาราง มีการเปลี่ยนแปลงอะไรเมื่อเวลาผ่านไป และเวอร์ชันของตารางที่คุณอาจต้องการตรวจสอบหรือคืนค่า

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

ใช้ DESCRIBE DETAIL

DESCRIBE DETAIL ส่งกลับข้อมูลเมตาระดับตารางสําหรับตารางเดลต้า ใช้เมื่อคุณต้องการสแนปช็อตอย่างรวดเร็วของข้อกําหนดตารางและรายละเอียดการจัดเก็บ

ข้อมูลเมตาทั่วไปประกอบด้วย:

  • รูปแบบตาราง
  • ตัวระบุและชื่อตาราง
  • ที่ตั้ง OneLake
  • เวลาสร้างและเวลาแก้ไขล่าสุด
  • คอลัมน์พาร์ติชัน
  • จํานวนไฟล์และขนาดรวมเป็นไบต์
  • คุณสมบัติของตาราง
  • เวอร์ชันโปรโตคอลผู้อ่านและตัวเขียนขั้นต่ํา

เรียกใช้ อธิบายรายละเอียด

เรียกใช้ DESCRIBE DETAIL กับตารางเดลต้าโดยใช้ Spark SQL หรือ Delta Lake API ใน PySpark หรือ Scala

DESCRIBE DETAIL schema_name.table_name

ทําความเข้าใจผลลัพธ์ DESCRIBE DETAIL

Schema ที่แน่นอนอาจแตกต่างกันไปตามรันไทม์และคุณลักษณะของตาราง แต่โดยทั่วไปคุณจะเห็นคอลัมน์ต่อไปนี้

คอลัมน์ ความหมาย
format รูปแบบตาราง สําหรับตารางเดลต้าใน Fabric ค่านี้คือ delta
id ตัวระบุเฉพาะสําหรับตารางเดลต้า
name ชื่อตารางที่ลงทะเบียน
location เส้นทางการจัดเก็บสําหรับตารางใน OneLake
createdAt การประทับเวลาเมื่อสร้างตาราง
lastModified การประทับเวลาเมื่ออัปเดตข้อมูลเมตาของตารางหรือไฟล์ล่าสุด
partitionColumns รายการของคอลัมน์พาร์ติชันที่กําหนดไว้สําหรับตาราง
numFiles จํานวนไฟล์ข้อมูลปัจจุบันที่ติดตามโดยตาราง
sizeInBytes ขนาดรวมของข้อมูลตารางที่ติดตามเป็นไบต์
properties คุณสมบัติของตารางที่จัดเก็บด้วยข้อกําหนดตารางเดลต้า
minReaderVersion เวอร์ชันเครื่องอ่านโปรโตคอลเดลต้าขั้นต่ําที่จําเป็นในการอ่านตาราง
minWriterVersion เวอร์ชันตัวเขียนโปรโตคอลเดลต้าขั้นต่ําที่จําเป็นในการเขียนลงในตาราง

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

ใช้ DESCRIBE HISTORY

DESCRIBE HISTORY ส่งคืนประวัติระดับการดําเนินงานสําหรับตารางเดลต้า ใช้เมื่อคุณต้องการเส้นทางการตรวจสอบของการเขียนและกิจกรรมการบํารุงรักษา เช่น WRITE, MERGE, OPTIMIZE, VACUUM, , DELETEหรือ UPDATE.

ประวัตินี้จะช่วยคุณตอบคําถามต่างๆ เช่น

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

เรียกใช้ DESCRIBE HISTORY

เรียกใช้ DESCRIBE HISTORY เพื่อแสดงประวัติที่มีอยู่ทั้งหมด

DESCRIBE HISTORY schema_name.table_name

จํากัดผลลัพธ์เมื่อคุณต้องการเฉพาะรายการล่าสุด

DESCRIBE HISTORY schema_name.table_name LIMIT n

ทําความเข้าใจผลลัพธ์ DESCRIBE HISTORY

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

คอลัมน์ ความหมาย
version เวอร์ชันตารางเดลต้าที่สร้างขึ้นโดยการดําเนินการ
timestamp เวลาที่การดําเนินการผูกมัด
operation ชนิดการดําเนินการ เช่น WRITE, MERGE, หรือ OPTIMIZEVACUUM
operationParameters พารามิเตอร์ที่ให้มาสําหรับการดําเนินการ
operationMetrics เมตริกที่บันทึกไว้สําหรับการดําเนินการ เช่น ไฟล์ที่เพิ่ม ไฟล์ที่ถูกลบออก แถวที่เขียน หรือปริมาณข้อมูลที่ประมวลผล
userName ผู้ใช้หรือหลักการที่เกี่ยวข้องกับการดําเนินงาน
ข้อมูลโน้ตบุ๊ค บริบทที่เกี่ยวข้องกับสมุดบันทึก เช่น เส้นทางสมุดบันทึกหรือ ID สมุดบันทึก เมื่อการดําเนินการมาจากการเรียกใช้สมุดบันทึก

ใช้ operationParameters และ operationMetrics ร่วมกันเมื่อคุณต้องการมากกว่าชื่อการดําเนินการ ตัวอย่างเช่น รายการ OPTIMIZE และ VACUUM มักจะมีเมตริกที่ช่วยให้คุณเข้าใจว่า Fabric เขียนใหม่หรือล้างข้อมูลมากน้อยเพียงใด

เมื่อใดควรใช้ DESCRIBE HISTORY

DESCRIBE HISTORY มีประโยชน์อย่างยิ่งในสถานการณ์เหล่านี้:

  • เส้นทางการตรวจสอบ: ตรวจทานว่าใครเปลี่ยนตารางและดําเนินการใดที่ดําเนินการ
  • การแก้จุดบกพร่อง: ระบุการดําเนินการเขียน ผสาน ปรับให้เหมาะสม หรือลบที่ทําให้เกิดปัญหา
  • การค้นพบเวอร์ชัน: ค้นหาเวอร์ชันของตารางเพื่อใช้กับการเดินทางข้ามเวลาหรือRESTORE
  • การตรวจสอบการบํารุงรักษา: ตรวจสอบ OPTIMIZE และ VACUUM เมตริกเพื่อยืนยันว่าการบํารุงรักษาดําเนินไปแล้วและดูว่ามีการเปลี่ยนแปลงอะไรบ้าง

จะเรียกใช้คําสั่งเหล่านี้ได้ที่ไหน

เรียกใช้คําสั่งเหล่านี้ในสมุดบันทึก Fabric และข้อกําหนดงาน Spark เมื่อคุณทํางานกับตารางเดลต้าผ่าน Apache Spark

DESCRIBE DETAIL ยังทํางานในตําแหน่งข้อมูลการวิเคราะห์ SQL สําหรับสถานการณ์ข้อมูลเมตาของตารางพื้นฐาน ใช้ Spark เมื่อคุณต้องการ Delta Lake API เต็มรูปแบบ เช่น DeltaTable.forName(...).detail() หรือ DeltaTable.forName(...).history() ใน PySpark หรือ Scala

การเก็บรักษาประวัติ

การเก็บรักษาประวัติเดลต้าจะอยู่ภายใต้ delta.logRetentionDuration คุณสมบัติของตาราง ระยะเวลาการเก็บรักษาเริ่มต้นคือ 30 วัน

หากคุณต้องการตรวจสอบประวัติเก่า ให้ยืนยันว่าการตั้งค่าการเก็บรักษาตารางของคุณเก็บบันทึกธุรกรรมไว้นานพอสําหรับข้อกําหนดด้านการปฏิบัติงานและการตรวจสอบของคุณ