Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

system.iceberg_metadata_log

Описание

Таблица system.iceberg_metadata_log регистрирует события доступа к метаданным и их разбора для таблиц Iceberg, считываемых ClickHouse. Она предоставляет подробную информацию о каждом обработанном файле метаданных или записи, что полезно для отладки, аудита и понимания того, как развивается структура таблиц Iceberg.

В этой таблице регистрируются все файлы метаданных и записи, считанные из таблиц Iceberg, включая корневые файлы метаданных, списки манифестов и записи манифестов. Она помогает пользователям отслеживать, как ClickHouse интерпретирует метаданные таблиц Iceberg, и диагностировать проблемы, связанные с эволюцией схемы, разрешением файлов или планированием запросов.

Управление уровнем детализации журналирования

Вы можете управлять тем, какие события метаданных записываются в журнал, с помощью настройки iceberg_metadata_log_level.

Чтобы записывать в журнал все метаданные, используемые в текущем запросе:

SELECT * FROM my_iceberg_table SETTINGS iceberg_metadata_log_level = 'manifest_file_entry';

SYSTEM FLUSH LOGS iceberg_metadata_log;

SELECT content_type, file_path, row_in_file
FROM system.iceberg_metadata_log
WHERE query_id = '{previous_query_id}';

Чтобы в журнал попадал только корневой JSON‑файл метаданных, используемый в текущем запросе:

SELECT * FROM my_iceberg_table SETTINGS iceberg_metadata_log_level = 'metadata';

SYSTEM FLUSH LOGS iceberg_metadata_log;

SELECT content_type, file_path, row_in_file
FROM system.iceberg_metadata_log
WHERE query_id = '{previous_query_id}';

Дополнительную информацию см. в описании настройки iceberg_metadata_log_level.

Полезно знать

  • Используйте iceberg_metadata_log_level на уровне запроса только тогда, когда вам нужно детально исследовать таблицу Iceberg. В противном случае таблица логов может переполниться избыточными метаданными, что приведёт к снижению производительности.
  • Таблица содержит повторяющиеся записи, поскольку предназначена прежде всего для отладки и не гарантирует уникальность для каждой сущности. Отдельные строки хранят содержимое и статус отсечения, поскольку они собираются в разные моменты работы программы. Содержимое собирается при чтении метаданных, а статус отсечения — при проверке метаданных на возможность отсечения. Никогда не используйте саму таблицу для дедупликации.
  • Если вы используете content_type с большей детализацией, чем ManifestListMetadata, кэш метаданных Iceberg для списков манифестов отключается.
  • Аналогично, если вы используете content_type с большей детализацией, чем ManifestFileMetadata, кэш метаданных Iceberg для файлов манифестов отключается.
  • Если запрос SELECT был отменён или завершился ошибкой, таблица логов всё равно может содержать записи о метаданных, обработанных до сбоя, но не будет содержать информации о сущностях метаданных, которые не были обработаны.

Столбцы

Значения content_type

  • None: Содержимое отсутствует.
  • Metadata: Корневой файл метаданных.
  • ManifestListMetadata: Метаданные списка манифестов.
  • ManifestListEntry: Запись в списке манифестов.
  • ManifestFileMetadata: Метаданные файла манифеста.
  • ManifestFileEntry: Запись в файле манифеста.

См. также

Navigation