> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# paramètres de session iceberg_*

> Paramètres de session ClickHouse du groupe généré iceberg_*.

export const ExperimentalBadge = () => {
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#experimental-features" className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Fonctionnalité expérimentale
        </a>;
};

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Version", "Valeur par défaut", "Commentaire"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        Historique des versions
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Ces paramètres sont disponibles dans [system.settings](/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [fichier source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

## iceberg\_delete\_data\_on\_drop

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "Nouveau paramètre"}]}]} />

Indique s’il faut ou non supprimer tous les fichiers Iceberg lors d’un drop.

## iceberg\_file\_entries\_queue\_size

<SettingsInfoBlock type="NonZeroUInt64" default_value="100" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "100"},{"label": "Nouveau paramètre pour la capacité, auparavant codée en dur, de la file d'attente entre les tâches de décodage des manifests de données Iceberg et la requête."}]}]} />

Capacité de la file d'attente entre les tâches de décodage des manifests de données Iceberg et la requête, exprimée en entrées de fichiers de données.

Les tâches de décodage se mettent en pause dès que la file d'attente est pleine et que la requête ne consomme plus, ce qui limite du même coup la lecture anticipée.

Doit être supérieure à zéro.

## iceberg\_manifest\_decode\_concurrency

**Aliases** : `iceberg_delete_manifest_decode_concurrency`

<SettingsInfoBlock type="NonZeroUInt64" default_value="4" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "4"},{"label": "Nouveau paramètre limitant le nombre de fichiers manifest Iceberg décodés simultanément, aussi bien pour les manifestes de suppression que pour ceux de données. Il remplace `iceberg_delete_manifest_decode_concurrency` (conservé comme alias). La valeur `2` se rapproche du data path antérieur à la 26.9, qui décodait un manifeste à la fois, le fetch du suivant étant déjà en cours ; avec `compatibility` fixé à 26.8 ou moins, le décodage des suppressions s'exécute donc lui aussi à 2 plutôt qu'à sa valeur par défaut publiée de 4, ce qui préserve l'ancienne enveloppe mémoire du data path au prix d'un moindre recouvrement du décodage des suppressions."}]}]} />

Nombre maximal de fichiers manifest Iceberg décodés simultanément lors de la lecture d'une table.

Les manifestes de suppression sont tous décodés avant la lecture du moindre fichier de données ; les manifestes de données, eux, sont décodés pendant la production de la liste des fichiers de données de la requête, et de nouveaux ne sont décodés qu'à mesure que la requête consomme les entrées déjà décodées. Décoder plusieurs manifestes à la fois permet de recouvrir les allers-retours vers l'object storage et le travail de pruning effectué pour chaque entrée.

Des valeurs plus élevées augmentent le pic de mémoire lorsque le cache des Iceberg metadata files est désactivé ou plein, car chaque manifeste in-flight conserve alors son propre contenu décodé.

Doit être supérieur à zéro ; `1` décode les manifestes un par un.

## iceberg\_manifest\_min\_count\_to\_compact

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="100" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "100"},{"label": "Aligné sur la valeur par défaut documentée de la propriété de table Iceberg `commit.manifest.min-count-to-merge` (100), voir https:\/\/iceberg.apache.org\/docs\/1.5.2\/configuration\/."}]}, {"id": "row-2","items": [{"label": "26.7"},{"label": "30"},{"label": "Nouveau paramètre pour contrôler la compaction des fichiers manifest pour les tables Iceberg."}]}]} />

Nombre minimal de fichiers manifest requis pour déclencher une compaction des seuls fichiers manifest via OPTIMIZE TABLE ... MANIFEST.
Si le nombre actuel de fichiers manifest est inférieur ou égal à ce seuil, la compaction est ignorée.
Nécessite que allow\_experimental\_iceberg\_compaction soit activé.

La valeur par défaut reprend la valeur par défaut documentée de la propriété de table Iceberg `commit.manifest.min-count-to-merge` (100),
voir [https://iceberg.apache.org/docs/1.5.2/configuration/](https://iceberg.apache.org/docs/1.5.2/configuration/).

## iceberg\_max\_number\_datafiles\_to\_compact

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1000"},{"label": "Nouveau paramètre"}]}]} />

Seuil des fichiers de données de compaction dans Iceberg.

## iceberg\_orphan\_files\_older\_than\_seconds

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="259200" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "259200"},{"label": "Nouveau paramètre définissant le seuil d’ancienneté par défaut des fichiers orphelins"}]}]} />

Seuil d’ancienneté par défaut, en secondes, pour la suppression des fichiers orphelins dans les tables Iceberg. Les fichiers plus récents que ce seuil ne sont pas considérés comme orphelins. Utilisé lorsque l’argument older\_than est omis de l’appel à la procédure remove\_orphan\_files(). La valeur par défaut est 259200 (3 jours).

## iceberg\_snapshot\_id

<SettingsInfoBlock type="Int64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Nouveau paramètre."}]}]} />

Interrogez une table Iceberg à l’aide de l’identifiant de snapshot spécifié.

## iceberg\_timestamp\_ms

<SettingsInfoBlock type="Int64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Nouveau paramètre."}]}]} />

Interroge une table Iceberg en utilisant le snapshot correspondant à un horodatage donné.

## iceberg\_tolerate\_conflicting\_manifest\_schemas

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "1"},{"label": "Nouveau paramètre : lorsque l'en-tête d'un fichier manifest Iceberg contient un schéma en conflit avec le schéma enregistré pour le même schéma-id dans metadata.json, privilégier le schéma de metadata.json et consigner un avertissement dans le log plutôt que de faire échouer la requête, conformément au comportement des autres moteurs de requêtes. Une valeur de `compatibility` inférieure à 26.10 rétablit le comportement strict précédent."}]}]} />

Si ce paramètre est activé et que la clé `schema` de l'en-tête d'un fichier manifest Iceberg contient un schéma différent de celui déjà enregistré pour le même schéma-id dans metadata.json, le schéma de metadata.json est utilisé et la copie présente dans l'en-tête du manifest est ignorée, avec émission d'un avertissement. S'il est désactivé, un tel conflit fait échouer la requête avec une error ICEBERG\_SPECIFICATION\_VIOLATION.

Le schéma de l'en-tête du manifest n'est qu'une copie du schéma de table au moment où le manifest a été written ; or, certains rédacteurs (par exemple les jobs de maintenance d'AWS S3 Tables) y stockent parfois des copies dégradées. Les autres moteurs de requêtes résolvent les schémas à partir de metadata.json et ignorent les copies divergentes des en-têtes : le comportement par défaut s'aligne donc sur le leur. En revanche, un conflit entre deux définitions de schéma issues de metadata.json fait toujours échouer la requête.
