system.iceberg_metadata_log
ClickHouse Cloud でのクエリ実行
このシステムテーブルのデータは、ClickHouse Cloud の各ノードにローカルに格納されています。そのため、すべてのデータを包括的に確認するには、clusterAllReplicas 関数を使用する必要があります。詳細についてはこちらを参照してください。
説明
system.iceberg_metadata_log テーブルは、ClickHouse が読み取る Iceberg テーブルのメタデータアクセスおよび解析イベントを記録します。処理された各メタデータファイルまたはエントリに関する詳細情報を提供するため、デバッグ、監査、Iceberg テーブル構造の変化の把握に役立ちます。
このテーブルには、ルートメタデータファイル、マニフェストリスト、マニフェストエントリを含む、Iceberg テーブルから読み取られたすべてのメタデータファイルとエントリが記録されます。これにより、ClickHouse が Iceberg テーブルのメタデータをどのように解釈するかを追跡し、schema の変更、ファイルの解決、またはクエリ計画に関連する問題を診断できます。
注記
このテーブルは主にデバッグ目的で使用することを想定しています。
ログの詳細度を制御する
iceberg_metadata_log_level 設定を使用すると、どのメタデータイベントをログに記録するかを制御できます。
現在のクエリで使用されるすべてのメタデータをログに記録するには、次のようにします。
現在のクエリで使用されているルートメタデータJSONファイルのみをログに出力するには:
詳しくは、iceberg_metadata_log_level 設定の説明を参照してください。
知っておくとよいこと
iceberg_metadata_log_levelは、Iceberg テーブルを詳細に調査する必要がある場合にのみ、クエリレベルで使用してください。そうしないと、ログテーブルが過剰なメタデータで埋まり、パフォーマンスが低下するおそれがあります。- このテーブルには重複したエントリが含まれます。これは主にデバッグを目的としたもので、エンティティごとの一意性は保証されないためです。内容と剪枝ステータスは、プログラム内の異なるタイミングで収集されるため、別々の行に格納されます。内容はメタデータの読み取り時に収集され、剪枝ステータスはメタデータが剪枝対象かどうかを確認する際に収集されます。重複排除のために、このテーブル自体に決して依存しないでください。
ManifestListMetadataよりも Verbose なcontent_typeを使用すると、マニフェストリスト では Iceberg メタデータキャッシュが無効になります。- 同様に、
ManifestFileMetadataよりも Verbose なcontent_typeを使用すると、マニフェストファイル では Iceberg メタデータキャッシュが無効になります。 - SELECT クエリがキャンセルされた場合や失敗した場合でも、失敗前に処理されたメタデータのエントリはログテーブルに残っている可能性がありますが、処理されなかったメタデータエンティティに関する情報は含まれません。
カラム
hostname(LowCardinality(String)) — クエリを実行するサーバーのホスト名。event_date(Date) — エントリの日付。event_time(DateTime) — イベント時刻。query_id(String) — クエリ ID。content_type(Enum8('None' = 0, 'Metadata' = 1, 'ManifestListMetadata' = 2, 'ManifestListEntry' = 3, 'ManifestFileMetadata' = 4, 'ManifestFileEntry' = 5)) — コンテンツタイプ。table_path(String) — テーブルのパス。file_path(String) — ファイルのパス。content(String) — JSON 形式のコンテンツ (JSON ファイルの内容、Avro メタデータ、または Avro エントリ) 。row_in_file(Nullable(UInt64)) — ファイル内の行。pruning_status(Nullable(Enum8('NotPruned' = 0, 'PartitionPruned' = 1, 'MinMaxIndexPruned' = 2))) — ファイルに対するパーティション剪枝または min-max 索引剪枝の状態。
content_type の値
None: コンテンツなし。Metadata: ルートのメタデータファイル。ManifestListMetadata: マニフェストリストのメタデータ。ManifestListEntry: マニフェストリスト内のエントリ。ManifestFileMetadata: マニフェストファイルのメタデータ。ManifestFileEntry: マニフェストファイル内のエントリ。