复制系统表参考

重要

此功能以个人预览版提供。 若要试用,请联系 Azure Databricks 联系人。

本页提供系统架构中表的states参考replication,该表跟踪Azure Databricks托管灾难恢复(DR)的复制状态。 每行都是故障转移组的状态事件,每次故障转移组更改时都会定期发出。 使用此表监视故障转移组的当前和历史复制状态,包括复制滞后时间以及阻止至少一个资产复制的任何错误。

表路径system.replication.states

状态表架构参考

states 表使用以下架构:

列名称 数据类型 说明 Example
event_id 字符串 状态事件的唯一标识符。 ca886134-876c-4671-a38b-332edf48c602
event_time 时间戳 发出事件的时间戳。 2024-01-05T00:00:00.000+00:00
account_id 字符串 故障转移组所属的帐户的 ID。 ca886134-876c-4671-a38b-332edf48c602
failover_group_name 字符串 故障转移组的完全限定名称。 accounts/account1/failover-group/group1
replication_state 字符串 发出事件时复制的状态。 可能的值为INITIALIZING、、REPLICATINGCREATEDUPDATEDDELETEDFAILOVER_STARTEDFAILOVER_FINISHED和。FAILOVER_ABORTED REPLICATING
errors 数组 replication_stateREPLICATING,阻止复制至少一个资产的错误的聚合列表,包括每个错误影响的资产数。 否则,导致操作失败的错误。 请参阅 错误参考 请参阅 错误参考
replication_lag_ms long 发出事件后,自上次成功复制所有作用域内资产以来的毫秒数。 值 null 指示从未将至少一个资产从源复制到副本。 值上升意味着 DR 无法复制至少一个作用域内资产,但对其他作用域内资产的更改将继续复制。 2323
effective_primary_region 字符串 发出事件时故障转移组的主要区域。 us-west-2
managed_assets 结构 发出事件时由故障转移组管理的资产。 请参阅 托管资产参考 请参阅 托管资产参考

错误参考

errors 列包含阻止复制的错误数组。 数组的每个元素都是具有以下字段的结构:

字段名称 数据类型 说明
error 结构 有关错误的详细信息。 包含 error_class 错误(string)、错误的类名; parameters (map)、键值参数以及有关错误的详细信息;和 message (string)是一条可读的错误消息。
affected_assets_counts 数组 每个受影响的资产类型一个条目。 每个条目都包含 asset_type (字符串)、受影响资产的类型,以及 failing_count 错误影响该类型的资产数(长)。

托管资产参考

managed_assets 列是一个结构,描述在发出事件时由故障转移组管理的资产。 包含以下字段:

字段名称 数据类型 说明
metastores 数组 故障转移组管理的元存储。
workspace_sets 数组 工作区设置由故障转移组管理。 每个条目都包含 name (string) 和 workspace_ids (array)。
catalogs 数组 故障转移组管理的目录。 每个条目都包含 name (字符串)。

读取表时的注意事项

分析 states 表时请记下以下内容:

  • 事件发生后,数据最多可能需要 3 小时才能填充。
  • 该表包含Azure Databricks帐户中所有故障转移组的事件。

示例查询

以下查询返回给定故障转移组的最新复制状态,包括其当前 replication_state、复制滞后时间以及任何阻止错误:

SELECT
  event_time,
  replication_state,
  replication_lag_ms,
  errors
FROM system.replication.states
WHERE failover_group_name = :failover_group_name
ORDER BY event_time DESC
LIMIT 1

以下查询返回给定故障转移组的复制延迟分布:

SELECT histogram_numeric(replication_lag_ms, 20) AS replication_lag_distribution
FROM system.replication.states
WHERE failover_group_name = :failover_group_name