> ## 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テーブルから読み取ったメタデータファイルに関する情報を含むシステムテーブルです。各エントリ は、ルートメタデータファイル、Avroファイルから抽出されたメタデータ、またはAvroファイル内のいずれかのエントリを表します。

# system.iceberg_metadata_log

<Info>
  **ClickHouse Cloud でのクエリ**

  このシステムテーブルのデータは、ClickHouse Cloud の各ノードにローカルに保持されています。したがって、すべてのデータを完全に把握するには、`clusterAllReplicas` 関数を使用する必要があります。詳細については、[こちら](/ja/reference/system-tables/overview#system-tables-in-clickhouse-cloud)を参照してください。
</Info>

## 説明

`system.iceberg_metadata_log` テーブルは、ClickHouse が読み取る Iceberg テーブルのメタデータに対するアクセスおよびパースのイベントを記録します。処理された各メタデータファイルやエントリに関する詳細な情報を提供するため、デバッグや監査、Iceberg テーブル構造の変化を把握するのに役立ちます。

このテーブルには、ルートメタデータファイル、マニフェストリスト、マニフェストエントリを含む、Iceberg テーブルから読み取られたすべてのメタデータファイルとエントリが記録されます。これにより、ClickHouse が Iceberg テーブルのメタデータをどのように解釈しているかを追跡し、スキーマ進化、ファイルの解決、クエリプランに関連する問題の診断に役立ちます。

このテーブルは主にデバッグ用途を想定しています。

### ログの詳細度を制御する

[`iceberg_metadata_log_level`](/ja/reference/settings/session-settings/iceberg-metadata#iceberg_metadata_log_level) 設定を使用すると、どのメタデータイベントをログに記録するかを制御できます。

現在のクエリで使用されるすべてのメタデータをログに記録するには:

```sql theme={null}
SELECT * FROM my_iceberg_table SETTINGS iceberg_metadata_log_level = 'manifest_file_entry';

SYSTEM FLUSH LOGS iceberg_metadata_log;

SELECT content_type, file_path, row_in_file
FROM system.iceberg_metadata_log
WHERE query_id = '{previous_query_id}';
```

現在のクエリで使用されているルートメタデータの JSON ファイルのみをログに記録するには:

```sql theme={null}
SELECT * FROM my_iceberg_table SETTINGS iceberg_metadata_log_level = 'metadata';

SYSTEM FLUSH LOGS iceberg_metadata_log;

SELECT content_type, file_path, row_in_file
FROM system.iceberg_metadata_log
WHERE query_id = '{previous_query_id}';
```

詳細については、[`iceberg_metadata_log_level`](/ja/reference/settings/session-settings/iceberg-metadata#iceberg_metadata_log_level) 設定の説明を参照してください。

### 知っておくとよいこと

* `iceberg_metadata_log_level` は、Icebergテーブルを詳しく調査する必要がある場合にのみ、クエリレベルで使用してください。そうしないと、ログテーブルが過剰なメタデータで埋まり、パフォーマンスが低下するおそれがあります。
* このテーブルには重複したエントリが含まれます。これは主にデバッグ用であり、エンティティごとの一意性は保証されないためです。内容とプルーニングの状態はプログラム内の異なるタイミングで収集されるため、別々の行に保存されます。内容はメタデータの読み取り時に収集され、プルーニングの状態はメタデータがプルーニング対象かどうか確認される際に収集されます。**重複排除のために、このテーブル自体には決して依存しないでください。**
* `ManifestListMetadata` より詳細な `content_type` を使用すると、マニフェストリストに対する Iceberg のメタデータキャッシュは無効になります。
* 同様に、`ManifestFileMetadata` より詳細な `content_type` を使用すると、マニフェストファイルに対する Iceberg のメタデータキャッシュは無効になります。
* SELECT クエリがキャンセルまたは失敗した場合でも、ログテーブルには失敗前に処理されたメタデータのエントリが残ることがありますが、処理されなかったメタデータエンティティに関する情報は含まれません。

このテーブルは、いつでも安全にTRUNCATEまたは削除できます。

## カラム

* `hostname` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — クエリを実行しているサーバーのホスト名。
* `clickhouse_version` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — この行を生成した ClickHouse server のバージョン。
* `system_processor` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — この行を生成した ClickHouse server の CPU アーキテクチャ。
* `event_date` ([Date](/ja/reference/data-types/date)) — エントリの日付。
* `event_time` ([DateTime](/ja/reference/data-types/datetime)) — イベント発生時刻。
* `query_id` ([String](/ja/reference/data-types/string)) — クエリ id。
* `content_type` ([Enum8('None' = 0, 'Metadata' = 1, 'ManifestListMetadata' = 2, 'ManifestListEntry' = 3, 'ManifestFileMetadata' = 4, 'ManifestFileEntry' = 5)](/ja/reference/data-types/enum)) — コンテンツタイプ。
* `table_path` ([String](/ja/reference/data-types/string)) — テーブルパス。
* `file_path` ([String](/ja/reference/data-types/string)) — ファイルパス。
* `content` ([String](/ja/reference/data-types/string)) — JSON フォーマットの内容 (JSON ファイル の内容、Avro メタデータ、または Avro エントリ) 。
* `row_in_file` ([Nullable(UInt64)](/ja/reference/data-types/nullable)) — ファイル内の行。
* `pruning_status` ([Nullable(Enum8('NotPruned' = 0, 'PartitionPruned' = 1, 'MinMaxIndexPruned' = 2))](/ja/reference/data-types/nullable)) — そのファイルに対するパーティション プルーニング または min-max 索引 プルーニング のステータス。

### `content_type` の値

* `None`: 内容なし。
* `Metadata`: ルートメタデータファイル。
* `ManifestListMetadata`: マニフェストリストのメタデータ。
* `ManifestListEntry`: マニフェストリスト内のエントリ。
* `ManifestFileMetadata`: マニフェストファイルのメタデータ。
* `ManifestFileEntry`: マニフェストファイル内のエントリ。

## 関連項目

* [Iceberg テーブルエンジン](/ja/reference/engines/table-engines/integrations/iceberg)
* [Iceberg テーブル関数](/ja/reference/functions/table-functions/iceberg)
* [system.iceberg\_history](/ja/reference/system-tables/iceberg_history)
