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