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

# iceberg_compaction_* configurações de sessão

> Configurações de sessão do ClickHouse no grupo iceberg_compaction_* gerado.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Versão", "Valor padrão", "Comentário"];
  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
  }}>
        Histórico de versões
      </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
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Essas configurações estão disponíveis em [system.settings](/pt-BR/reference/system-tables/settings) e são geradas automaticamente a partir do [código-fonte](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<h2 id="iceberg_compaction_commit_batch_size">
  iceberg\_compaction\_commit\_batch\_size
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "100"},{"label": "Nova configuração"}]}, {"id": "row-2","items": [{"label": "26.8"},{"label": "100"},{"label": "Nova configuração"}]}]} />

Número de arquivos de dados mesclados que a compactação Iceberg em segundo plano acumula antes de publicá-los em um novo snapshot.

Os resultados da compactação são publicados assim que não há mais candidatos para compactar. Portanto, essa configuração apenas limita
por quanto tempo arquivos já mesclados permanecem sem ser publicados enquanto a compactação continua encontrando trabalho. `0` restaura o comportamento antigo
de publicar somente quando a compactação não tem mais candidatos — um estado que nunca é alcançado enquanto a tabela continua
recebendo novos arquivos de dados. Assim, toda saída mesclada é gravada no armazenamento de objetos e nunca é referenciada por um snapshot.

<h2 id="iceberg_compaction_data_cleanup">
  iceberg\_compaction\_data\_cleanup
</h2>

<SettingsInfoBlock type="Segundos" default_value="10800" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "10800"},{"label": "Nova configuração"}]}]} />

Tempo após o qual os dados serão excluídos.

<h2 id="iceberg_compaction_delay_bias">
  iceberg\_compaction\_delay\_bias
</h2>

<SettingsInfoBlock type="Segundos" default_value="10800" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "10800"},{"label": "Nova configuração"}]}]} />

Intervalo mínimo entre 2 operações de compactação em segundo plano.

<h2 id="iceberg_compaction_max_bytes_in_data_file">
  iceberg\_compaction\_max\_bytes\_in\_data\_file
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "536870912"},{"label": "Nova configuração para o máximo de bytes de um arquivo de dados iceberg produzido por compactação, separada do limite aplicado na inserção (insert-time). O padrão está alinhado com o padrão documentado da Iceberg table property `write.target-file-size-bytes` (512 MiB), consulte https:\/\/iceberg.apache.org\/docs\/1.5.2\/configuration\/. Anteriormente, a compactação mesclava todos os arquivos elegíveis de uma partição em um único arquivo de saída."}]}, {"id": "row-2","items": [{"label": "26.9"},{"label": "18446744073709551615"},{"label": "Nova configuração para o máximo de bytes de um arquivo de dados iceberg produzido por compactação, separada do limite aplicado na inserção (insert-time)."}]}, {"id": "row-3","items": [{"label": "26.7"},{"label": "18446744073709551615"},{"label": "Nova configuração para o máximo de bytes de um arquivo de dados iceberg produzido por compactação, separada do limite aplicado na inserção (insert-time)."}]}]} />

Máximo de bytes de um arquivo de dados parquet iceberg produzido por compactação.

O padrão espelha o padrão documentado da Iceberg table property `write.target-file-size-bytes` (512 MiB),
consulte [https://iceberg.apache.org/docs/1.5.2/configuration/](https://iceberg.apache.org/docs/1.5.2/configuration/). Mantenha-o acima de
`iceberg_data_file_size_lower_threshold_compaction`; caso contrário, todo arquivo de saída ficará abaixo do threshold inferior
e será novamente selecionado para compactação.

<h2 id="iceberg_compaction_max_rows_in_data_file">
  iceberg\_compaction\_max\_rows\_in\_data\_file
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "18446744073709551615"},{"label": "Nova configuração para o número máximo de linhas de um arquivo de dados Iceberg produzido por compactação, separada do limite aplicado na inserção (insert-time)."}]}, {"id": "row-2","items": [{"label": "26.7"},{"label": "18446744073709551615"},{"label": "Nova configuração para o número máximo de linhas de um arquivo de dados Iceberg produzido por compactação, separada do limite aplicado na inserção (insert-time)."}]}]} />

Número máximo de linhas de um arquivo de dados Parquet do Iceberg produzido por compactação. Por padrão, é definido como o valor máximo, de modo que apenas o limite de tamanho
`iceberg_compaction_max_bytes_in_data_file` decide quantos dados vão para um arquivo de saída, da mesma forma que
o Iceberg não possui um equivalente de contagem de linhas para `write.target-file-size-bytes`.
