Описание
Специальный входной формат для чтения метаданных нижнего колонтитула файлов 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 отклоняется).
Поддерживаются сжатые LZ4 и несжатые нижние колонтитулы Puffin. Размер полезной нагрузки нижнего колонтитула (а также заявленный размер содержимого 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.