> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Документация по формату PuffinMetadata

# PuffinMetadata

<div id="description">
  ## Описание
</div>

Специальный входной формат для чтения метаданных нижнего колонтитула файлов [Apache Iceberg Puffin](https://iceberg.apache.org/puffin-spec/).
Выводит одну строку для каждой записи blob из списка `BlobMetadata` в нижнем колонтитуле.

`deletion-vector-v1` — единственный поддерживаемый тип blob: файлы, содержащие blob любого другого типа (например, `apache-datasketches-theta-v1`), отклоняются.

Фиксированные выходные столбцы:

* `blob_type` (`String`) — тип blob, например `deletion-vector-v1`
* `snapshot_id` (`Int64`) — идентификатор снимка blob
* `sequence_number` (`Int64`) — номер последовательности blob
* `fields` (`Array(Int32)`) — список идентификаторов полей, к которым относится blob
* `offset` (`Int64`) — смещение полезной нагрузки blob в файле
* `length` (`Int64`) — длина полезной нагрузки blob в байтах
* `compression_codec` (`String`) — кодек сжатия полезной нагрузки blob, если указан
* `properties` (`Map(String, String)`) — свойства, специфичные для blob

Необязательные свойства верхнего уровня `FileMetadata.properties` в нижнем колонтитуле (например, `created-by`) при наличии проверяются на соответствие типу, но не возвращаются в виде столбцов. Если ключ присутствует, его значением должен быть объект JSON со строковыми значениями (`null` отклоняется).

Поддерживаются сжатые LZ4 и несжатые нижние колонтитулы Puffin. Размер полезной нагрузки нижнего колонтитула (а также заявленный размер содержимого LZ4) ограничивается коэффициентом сжатия, где это применимо, и абсолютным пределом; нижние колонтитулы слишком большого размера отклоняются до выделения памяти.

<div id="example-usage">
  ## Пример использования
</div>

Просмотрите blob-объекты нижнего колонтитула:

```sql theme={null}
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`.
