system.iceberg_metadata_log
Таблица system.iceberg_metadata_log фиксирует события доступа к метаданным и их разбора для таблиц Iceberg, прочитанных ClickHouse. Она предоставляет подробную информацию о каждом обработанном файле или записи метаданных, что полезно для отладки, аудита и анализа эволюции структуры таблиц Iceberg.
Назначение
Эта таблица фиксирует каждый файл и каждую запись метаданных, прочитанные из таблиц Iceberg, включая корневые файлы метаданных, списки манифестов и записи манифестов. Она помогает пользователям отследить, как ClickHouse интерпретирует метаданные таблиц Iceberg, и диагностировать проблемы, связанные с эволюцией схемы, поиском и разрешением файлов или планированием выполнения запросов.
Эта таблица в первую очередь предназначена для отладки.
Столбцы
| Имя | Тип | Описание |
|---|---|---|
event_date | Date | Дата записи лога. |
event_time | DateTime | Временная метка события. |
query_id | String | Идентификатор запроса, который инициировал чтение метаданных. |
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
None: Нет содержимого.Metadata: Корневой файл метаданных.ManifestListMetadata: Метаданные списка манифестов.ManifestListEntry: Запись в списке манифестов.ManifestFileMetadata: Метаданные файла манифеста.ManifestFileEntry: Запись в файле манифеста.
Данные в этой системной таблице хранятся локально на каждом узле в ClickHouse Cloud. Поэтому для получения полного обзора всех данных требуется функция clusterAllReplicas. Подробности см. здесь.
Управление подробностью журналирования
Вы можете управлять тем, какие события, связанные с метаданными, записываются в журнал, с помощью настройки iceberg_metadata_log_level.
Чтобы записывать в журнал все метаданные, используемые в текущем запросе:
Чтобы логировать только корневой JSON‑файл метаданных, используемый в текущем запросе:
См. дополнительную информацию в описании настройки iceberg_metadata_log_level.
Полезная информация
- Используйте
iceberg_metadata_log_levelна уровне запроса только тогда, когда вам нужно детально исследовать таблицу Iceberg. В противном случае вы можете заполнить таблицу логов избыточными метаданными и столкнуться с ухудшением производительности. - Таблица может содержать дублирующиеся записи, так как она предназначена в первую очередь для отладки и не гарантирует уникальность записей для каждой сущности.
- Если вы используете
content_type, более подробный, чемManifestListMetadata, кэш метаданных Iceberg для списков манифестов отключается. - Аналогично, если вы используете
content_type, более подробный, чемManifestFileMetadata, кэш метаданных Iceberg для файлов манифестов отключается.