跳到主要内容
跳到主要内容

system.part_log

在 ClickHouse Cloud 中查询

该系统表中的数据在 ClickHouse Cloud 的每个节点上本地保存。因此,要获得所有数据的完整视图,需要使用 clusterAllReplicas 函数。有关更多详细信息,请参见 here

system.part_log 表仅在指定了 part_log 服务器设置时才会创建。

该表包含有关在 MergeTree 家族表中发生的 data parts 事件的信息,例如添加或合并数据。

system.part_log 表包含以下列:

  • hostname (LowCardinality(String)) — 执行查询的服务器的主机名。
  • query_id (String) — 创建该数据部分的 INSERT 查询的标识符。
  • event_type (Enum8) — 与数据部分发生的事件的类型。可以有以下值之一:
    • NewPart — 插入新数据部分。
    • MergePartsStart — 数据部分的合并已开始。
    • MergeParts — 数据部分的合并已完成。
    • DownloadPart — 正在下载数据部分。
    • RemovePart — 使用 DETACH PARTITION 删除或分离数据部分。
    • MutatePartStart — 数据部分的变更已开始。
    • MutatePart — 数据部分的变更已完成。
    • MovePart — 将数据部分从一个磁盘移动到另一个磁盘。
  • merge_reason (Enum8) — 事件类型为 MERGE_PARTS 的原因。可以有以下值之一:
    • NotAMerge — 当前事件的类型不同于 MERGE_PARTS
    • RegularMerge — 一些常规合并。
    • TTLDeleteMerge — 清理过期数据。
    • TTLRecompressMerge — 重新压缩数据部分。
  • merge_algorithm (Enum8) — 类型为 MERGE_PARTS 的事件的合并算法。可以有以下值之一:
    • Undecided
    • Horizontal
    • Vertical
  • event_date (Date) — 事件日期。
  • event_time (DateTime) — 事件时间。
  • event_time_microseconds (DateTime64) — 事件时间,精确到微秒。
  • duration_ms (UInt64) — 持续时间。
  • database (String) — 数据部分所在的数据库名称。
  • table (String) — 数据部分所在的表名称。
  • part_name (String) — 数据部分的名称。
  • partition_id (String) — 数据部分插入到的分区的 ID。如果分区是根据 tuple() 进行的,则该列取值为 all
  • 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) — 发生错误的文本消息。

在首次向 MergeTree 表插入数据后,会创建 system.part_log 表。

示例