Zerobus 引入系统表引用

本文是 zerobus 系统表的参考,该表用于跟踪您工作区中的 Zerobus 数据导入活动。 这些表包括同一区域中所有工作区中的帐户记录。 若要查看另一个区域中的记录,必须查看该区域中部署的工作区中的表。

要求

  • 若要访问这些系统表,用户必须:

可用的零总线导入表

所有与 Zerobus Ingest 相关的系统表都位于 system.lakeflow 架构中。 这包括下表:

Table Description 支持流式处理 免费保留期 包括全局或区域数据
Zerobus_stream (Beta) 跟踪通过 Zerobus Ingest 创建的所有流 是的 365 天 区域
Zerobus_ingest (Beta) 使用 Zerobus Ingest 跟踪引入到 Delta 表中的所有数据 是的 365 天 区域

零总线流表架构参考

zerobus_stream 表存储所有与 Zerobus Ingest 使用过程中产生的流事件相关的数据。 这包括在创建流时、在流生存期内发生错误以及关闭流时发生的事件。

表路径system.lakeflow.zerobus_stream

列名称 数据类型 Description Example
account_id 字符串 负责流的帐户的 ID 23e22ba4-87b9-4cc2-9770-d10b894bxx
workspace_id 字符串 与流相关的工作区ID 1234567890123456
stream_id 字符串 流的 ID ccr4bf53-127a-4487-camr-cab42c2db9b2
event_time 时间戳 事件发生时的时间戳 2025-12-19T18:20:26.994+00:00
producer_id 字符串 负责流创建的生成者的 ID 目前不支持此列。
opened_time 时间戳 打开流的时间戳 2025-12-19T18:20:27.209+00:00
closed_time 时间戳 关闭流的时间戳 2025-12-19T18:20:26.994+00:00
table_id 字符串 正在导入数据的表的 ID 0c5ca387-5v3c-4308-90ad-b91dedb22e32
table_name 字符串 要导入的表的完全限定名称 example_table
protocol 字符串 用于引入数据的协议。 可能的值为 GRPCHTTP GRPC
data_format 字符串 数据流中使用的格式。 可能的值为 PROTOBUFJSON PROTOBUF
errors 数组 在流的生命周期内发生的错误数组 请参阅 错误参考

流表的示例查询

以下查询返回指定表当前打开的流数:

SELECT COUNT(stream.stream_id)
FROM system.lakeflow.zerobus_stream AS stream
WHERE stream.table_id=:table_id AND stream.closed_time IS NULL AND stream.opened_time > CURRENT_TIMESTAMP - INTERVAL '15 minutes'

以下查询返回所有产生错误的流的 ID:

SELECT DISTINCT(stream.stream_id)
FROM system.lakeflow.zerobus_stream AS stream
WHERE size(stream.errors) > 0

Zerobus数据导入表模式参考

zerobus_ingest 表存储与使用 Zerobus Ingest 引入的记录相关的所有数据。 此数据没有达到记录级别的精细粒度。 数据通过批量写入 Delta 表来聚合,并使用commit_version作为标识。

表路径system.lakeflow.zerobus_ingest

列名称 数据类型 Description Example
account_id 字符串 拥有给定工作区的帐户的 ID 23e22ba4-87b9-4cc2-9770-d10b894bxx
workspace_id 字符串 在其中创建流的工作区的 ID 1234567890123456
stream_id 字符串 执行数据引入的流的 ID ccr4bf53-127a-4487-camr-cab42c2db9b2
commit_version bigint 提交到 Delta 的唯一版本号 15104
table_id 字符串 要写入的表的 ID 0c5ca387-5v3c-4308-90ad-b91dedb22e32
table_name 字符串 完全限定表名(采用人工可读格式) example_table
commit_time 时间戳 提交时间戳 2025-12-19T18:20:27.209+00:00
committed_bytes bigint 引入的数据的大小(以字节为单位) 3532498
committed_records bigint 已提交的记录数 3445
tags 数组 Zerobus Ingest 提供的自定义标签,可用于跟踪使用来源和其他元数据 ["DIRECT_WRITE"]
errors 数组 引入期间发生的错误的数组 请参阅 错误参考

引入表的示例查询

以下查询获取指定时间范围内每个表的平均插入速率:

SELECT ingest.table_id AS table_id, SUM(ingest.committed_bytes) / (SECONDS(:end_timestamp - :start_timestamp)) AS average_insertion_rate
FROM system.lakeflow.zerobus_ingest AS ingest
WHERE ingest.commit_time >= :start_timestamp AND ingest.commit_time <= :end_timestamp
GROUP BY ingest.table_id

以下查询获取在指定时间范围内引入到表中的数据和记录总数:

SELECT SUM(ingest.committed_bytes) as 'Total data', SUM(ingest.committed_records) as 'Total records'
FROM system.lakeflow.zerobus_ingest AS ingest
WHERE ingest.commit_time >= :start_timestamp AND ingest.commit_time <= :end_timestamp AND ingest.table_name = :table_name

错误参考

流表和引入表都包含一列 errors ,其中包括在流或引入期间发生的错误数组,每个元素都表示单独的错误。 这些数组元素记录为具有以下字段的对象:

字段名称 数据类型 Description
error_code bigint 错误代码
error_message 字符串 完整错误消息
timestamp 时间戳 发生错误的时间戳

常见联接模式

以下查询演示如何联接流和引入表以返回已从单个工作区写入的所有表。

SELECT DISTINCT(stream.table_id)
FROM system.lakeflow.zerobus_stream AS stream INNER JOIN system.lakeflow.zerobus_ingest AS ingest ON (stream_id)
WHERE stream.workspace_id=:workspace_id