> ## 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.

> Documentation du format PuffinMetadata

# PuffinMetadata

<div id="description">
  ## Description
</div>

Format d’entrée spécial permettant de lire les métadonnées du pied de page de fichiers [Apache Iceberg Puffin](https://iceberg.apache.org/puffin-spec/).
Il produit une ligne pour chaque entrée de blob de la liste `BlobMetadata` du pied de page.

`deletion-vector-v1` est le seul type de blob pris en charge : un fichier contenant tout autre type de blob (par exemple, `apache-datasketches-theta-v1`) est rejeté.

Colonnes de sortie fixes :

* `blob_type` (`String`) - type de blob, par exemple `deletion-vector-v1`
* `snapshot_id` (`Int64`) - identifiant du snapshot du blob
* `sequence_number` (`Int64`) - numéro de séquence du blob
* `fields` (`Array(Int32)`) - liste des identifiants de champs auxquels s’applique le blob
* `offset` (`Int64`) - décalage de la charge utile du blob dans le fichier
* `length` (`Int64`) - longueur de la charge utile du blob en octets
* `compression_codec` (`String`) - codec de compression de la charge utile du blob, le cas échéant
* `properties` (`Map(String, String)`) - propriétés propres au blob

Les `FileMetadata.properties` facultatives de niveau supérieur du pied de page (par exemple, `created-by`) font l’objet d’une vérification de type lorsqu’elles sont présentes, mais ne sont pas renvoyées comme colonnes. Si la clé est présente, elle doit correspondre à un objet JSON dont les valeurs sont des chaînes (null est rejeté).

Les pieds de page Puffin compressés avec LZ4 ou non compressés sont pris en charge. La taille de la charge utile du pied de page (ainsi que la taille déclarée du contenu LZ4) est limitée par un taux de compression, lorsque applicable, et par un plafond absolu ; les pieds de page trop volumineux sont rejetés avant l’allocation.

<div id="example-usage">
  ## Exemple d’utilisation
</div>

Inspectez les blobs du pied de page :

```sql theme={null}
SELECT blob_type, snapshot_id, sequence_number, offset, length, compression_codec,
       mapKeys(properties), mapValues(properties)
FROM file(deletes.puffin, PuffinMetadata);
```

À utiliser avec le format `Puffin` pour lire les payloads de blob `deletion-vector-v1`.
