system.part_log
Системная таблица system.part_log создается только в том случае, если задана серверная настройка part_log.
Содержит информацию о всех событиях, произошедших с кусками данных таблиц семейства MergeTree (например, события добавления, удаления или слияния данных).
Столбцы:
query_id(String) — идентификатор запросаINSERT, создавшего этот кусок.event_type(Enum8) — тип события. Столбец может содержать одно из следующих значений:NEW_PART— вставка нового куска.MERGE_PARTS— слияние кусков.DOWNLOAD_PART— загрузка с реплики.REMOVE_PART— удаление или отсоединение из таблицы с помощью DETACH PARTITION.MUTATE_PART— изменение куска.MOVE_PART— перемещение куска между дисками.
merge_reason(Enum8) — Причина события с типомMERGE_PARTS. Может принимать одно из следующих значений:NOT_A_MERGE— событие имеет тип иной, чемMERGE_PARTS.REGULAR_MERGE— обычное слияние.TTL_DELETE_MERGE— очистка истекших данных.TTL_RECOMPRESS_MERGE— переупаковка куска.
merge_algorithm(Enum8) — Алгоритм слияния для события с типомMERGE_PARTS. Может принимать одно из следующих значений:UNDECIDEDHORIZONTALVERTICAL
event_date(Date) — дата события.event_time(DateTime) — время события.event_time_microseconds(DateTime64) — время события с точностью до микросекунд.duration_ms(UInt64) — длительность.database(String) — имя базы данных, в которой находится кусок.table(String) — имя таблицы, в которой находится кусок.part_name(String) — имя куска.partition_id(String) — идентификатор партиции, в которую был добавлен кусок. В столбце будет значениеall, если таблица партициируется по выражениюtuple().path_on_disk(String) — абсолютный путь к папке с файлами кусков данных.rows(UInt64) — число строк в куске.size_in_bytes(UInt64) — размер куска данных в байтах.merged_from(Array(String)) — массив имён кусков, из которых образован текущий кусок в результате слияния (также столбец заполняется в случае скачивания уже смерженного куска).bytes_uncompressed(UInt64) — количество прочитанных не сжатых байт.read_rows(UInt64) — сколько было прочитано строк при слиянии кусков.read_bytes(UInt64) — сколько было прочитано байт при слиянии кусков.peak_memory_usage(Int64) — максимальная разница между выделенной и освобождённой памятью в контексте потока.error(UInt16) — код ошибки, возникшей при текущем событии.exception(String) — текст ошибки.
Системная таблица system.part_log будет создана после первой вставки данных в таблицу MergeTree.
Пример
SELECT * FROM system.part_log LIMIT 1 FORMAT Vertical;
Row 1:
──────
query_id: 983ad9c7-28d5-4ae1-844e-603116b7de31
event_type: NewPart
merge_reason: NotAMerge
merge_algorithm: Undecided
event_date: 2021-02-02
event_time: 2021-02-02 11:14:28
event_time_microseconds: 2021-02-02 11:14:28.861919
duration_ms: 35
database: default
table: log_mt_2
part_name: all_1_1_0
partition_id: all
path_on_disk: db/data/default/log_mt_2/all_1_1_0/
rows: 115418
size_in_bytes: 1074311
merged_from: []
bytes_uncompressed: 0
read_rows: 0
read_bytes: 0
peak_memory_usage: 0
error: 0
exception: