system.iceberg_metadata_log
system.iceberg_metadata_log
テーブルは、ClickHouse によって読み取られた Iceberg テーブルのメタデータアクセスおよびパースイベントを記録します。これは、処理された各メタデータファイルまたはエントリに関する詳細情報を提供し、デバッグ、監査、および Iceberg テーブル構造の進化を理解するのに役立ちます。
Purpose
このテーブルは、Iceberg テーブルから読み取られたすべてのメタデータファイルおよびエントリをログに記録します。これには、ルートメタデータファイル、マニフェストリスト、およびマニフェストエントリが含まれます。これにより、ユーザーは ClickHouse が Iceberg テーブルのメタデータをどのように解釈しているかを追跡し、スキーマの進化、ファイルの解決、またはクエリプランニングに関連する問題を診断できます。
注記
このテーブルは主にデバッグ目的で使用されます。
注記
Columns
Name | Type | Description |
---|---|---|
event_date | Date | ログエントリの日付。 |
event_time | DateTime | イベントのタイムスタンプ。 |
query_id | String | メタデータ読み取りをトリガーしたクエリ ID。 |
content_type | Enum8 | メタデータコンテンツの種類(下記参照)。 |
table_path | String | Iceberg テーブルへのパス。 |
file_path | String | ルートメタデータ JSON ファイル、Avro マニフェストリスト、またはマニフェストファイルへのパス。 |
content | String | JSON 形式のコンテンツ(.json からの生メタデータ、Avro メタデータ、または Avro エントリ)。 |
row_in_file | Nullable(UInt64) | ファイル内の行番号(該当する場合)。ManifestListEntry および ManifestFileEntry コンテンツタイプで表示されます。 |
content_type
values
None
: コンテンツなし。Metadata
: ルートメタデータファイル。ManifestListMetadata
: マニフェストリストメタデータ。ManifestListEntry
: マニフェストリスト内のエントリ。ManifestFileMetadata
: マニフェストファイルメタデータ。ManifestFileEntry
: マニフェストファイル内のエントリ。
ClickHouse Cloud におけるクエリ
このシステムテーブルのデータは、ClickHouse Cloud の各ノードにローカルに保持されています。したがって、すべてのデータの完全なビューを取得するには、clusterAllReplicas
関数が必要です。詳細については こちら を参照してください。
Controlling log verbosity
iceberg_metadata_log_level
設定を使用して、どのメタデータイベントがログに記録されるかを制御できます。
現在のクエリで使用されるすべてのメタデータをログに記録するには:
現在のクエリで使用されるルートメタデータ JSON ファイルのみをログに記録するには:
iceberg_metadata_log_level
設定の説明で詳細情報を参照してください。
Good To Know
iceberg_metadata_log_level
は、Iceberg テーブルを詳細に調査する必要がある場合のみ、クエリレベルで使用してください。それ以外の場合、ログテーブルに過剰なメタデータが記録され、性能が低下する可能性があります。- このテーブルには重複エントリが含まれる場合があります。これは主にデバッグ用に設計されており、エンティティごとの一意性を保証しません。
ManifestListMetadata
よりも詳細なcontent_type
を使用する場合、マニフェストリストのための Iceberg メタデータキャッシュは無効になります。- 同様に、
ManifestFileMetadata
よりも詳細なcontent_type
を使用する場合、マニフェストファイルのための Iceberg メタデータキャッシュは無効になります。