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, списку манифестов или файлу манифеста. |
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 отключается для файлов манифеста.