الوصف
تنسيق إدخال خاص لقراءة البيانات الوصفية لتذييل ملفات Apache Iceberg Puffin.
يُنتج صفًا واحدًا لكل إدخال blob في قائمة التذييل BlobMetadata.
deletion-vector-v1 هو نوع blob الوحيد المدعوم؛ ويُرفض أي ملف يحتوي على نوع blob آخر (مثل apache-datasketches-theta-v1).
أعمدة الإخراج الثابتة:
blob_type(String) - نوع blob، مثلdeletion-vector-v1snapshot_id(Int64) - معرّف لقطة blobsequence_number(Int64) - رقم تسلسل blobfields(Array(Int32)) - قائمة معرّفات الحقول التي ينطبق عليها bloboffset(Int64) - إزاحة حمولة blob في الملفlength(Int64) - طول حمولة blob بالبايتcompression_codec(String) - ترميز ضغط حمولة blob، إن وُجدproperties(Map(String, String)) - خصائص خاصة بـ blob
تخضع FileMetadata.properties الاختيارية ذات المستوى الأعلى في التذييل (مثل created-by) للتحقق من النوع عند وجودها، لكنها لا تُعاد كأعمدة. إذا كان المفتاح موجودًا، فيجب أن تكون قيمته كائن JSON ذي قيم نصية (وتُرفض القيمة null).
تُدعم تذييلات Puffin المضغوطة بـ LZ4 وغير المضغوطة. يُقيَّد حجم حمولة التذييل (وحجم محتوى LZ4 المُعلن) بنسبة ضغط، عند الاقتضاء، وبحد أقصى مطلق؛ وتُرفض التذييلات كبيرة الحجم قبل تخصيص الذاكرة.
مثال على الاستخدام
افحص كائنات blob في التذييل:
SELECT blob_type, snapshot_id, sequence_number, offset, length, compression_codec,
mapKeys(properties), mapValues(properties)
FROM file(deletes.puffin, PuffinMetadata);استخدمه مع تنسيق Puffin لقراءة حمولات blob لـ deletion-vector-v1.