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

# iceberg_* セッション設定

> iceberg_* グループに属する ClickHouse のセッション設定。

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>
            実験的な機能
        </a>;
};

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["バージョン", "デフォルト値", "コメント"];
  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
  }}>
        バージョン履歴
      </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
  }}>型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>デフォルト値</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          再起動せずに変更可能
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

これらの設定は [system.settings](/ja/reference/system-tables/settings) で参照でき、[source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp) から自動生成されています。

<div id="iceberg_delete_data_on_drop">
  ## iceberg\_delete\_data\_on\_drop
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "新しい設定"}]}]} />

drop 時に Iceberg のすべてのファイルを削除するかどうか。

<div id="iceberg_delete_manifest_decode_concurrency">
  ## iceberg\_delete\_manifest\_decode\_concurrency
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "4"},{"label": "最初の行を読み取る前に同時にデコードする Iceberg 削除マニフェストファイル数の上限を指定する新しい設定。26.8 より前は、一度に 1 つのマニフェストをデコードしつつ、次のマニフェストの fetch をすでに開始していました。そのため、従来の動作に最も近い値は `2` です。従来は、最初の行が返されるまでのクリティカルパスに、両方のオブジェクトストレージ往復の合計時間が含まれていました。"}]}]} />

データファイルを読み取る前のクエリ実行中に、同時にデコードする Iceberg 削除マニフェストファイルの最大数。

データファイルを読み取る前にすべての削除マニフェストをデコードする必要があるため、この処理は最初の行が返されるまでのクリティカルパスに含まれます。一度に複数をデコードすることで、オブジェクトストレージへの往復と行ごとのプルーニング処理を並行して実行できます。

Iceberg メタデータファイルの cache が無効または満杯の場合、値を大きくするとクエリ初期化時のピークメモリ使用量が増加します。処理中の各マニフェストが、それぞれデコード済みの内容を保持するためです。

ゼロより大きい値を指定する必要があります。`1` では、マニフェストを一度に 1 つずつデコードします。

<div id="iceberg_manifest_min_count_to_compact">
  ## iceberg\_manifest\_min\_count\_to\_compact
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "30"},{"label": "Iceberg テーブルのマニフェストコンパクションを制御するための新しい設定。"}]}]} />

OPTIMIZE TABLE ... MANIFEST によるマニフェストのみの コンパクション をトリガーするために必要な、最小のマニフェストファイル数です。
現在のマニフェストファイル数がこのしきい値以下の場合、コンパクション はスキップされます。
allow\_experimental\_iceberg\_compaction を有効にする必要があります。

<div id="iceberg_max_number_datafiles_to_compact">
  ## iceberg\_max\_number\_datafiles\_to\_compact
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1000"},{"label": "新しい設定"}]}]} />

Iceberg における コンパクション data files のしきい値。

<div id="iceberg_orphan_files_older_than_seconds">
  ## iceberg\_orphan\_files\_older\_than\_seconds
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "259200"},{"label": "孤立ファイルのデフォルトの経過時間しきい値を指定する新しい設定"}]}]} />

Icebergテーブルで孤立ファイルを削除する際の、デフォルトの経過時間しきい値 (秒) です。これより新しいファイルは孤立ファイルと見なされません。`remove_orphan_files()` プロシージャ呼び出しで `older_than` 引数が省略された場合に使用されます。デフォルトは259200 (3日) です。

<div id="iceberg_snapshot_id">
  ## iceberg\_snapshot\_id
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "新しい設定"}]}]} />

特定のスナップショット ID を使用して Iceberg テーブルをクエリします。

<div id="iceberg_timestamp_ms">
  ## iceberg\_timestamp\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "新しい設定"}]}]} />

特定のタイムスタンプ時点で有効だったスナップショットを使用してIcebergテーブルをクエリします。
