复制系统表参考

重要

托管 DR 受限制。 通过Azure Databricks帐户团队申请访问权限。 在您的帐户获准加入后,Azure Databricks 会为其启用托管灾难恢复。

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

表路径system.replication.states

如何读取复制状态

状态事件会定期发出。 每个事件报告故障切换组的总状态、当前延迟以及任何阻碍至少一个资产复制的错误。 它并未列出哪些单个对象成功复制。

replication_lag_msnull存在时,所有未被该事件中错误覆盖的内容都已复制到该延迟。 其他范围内资产会持续复制并保持延迟的更新,即使数 errors 组未空。 在 期间 INITIAL_REPLICATION,在所有范围内资产被复制一次之前, replication_lag_ms 可以为 null:事件仍可列出阻塞错误,但尚未测量完整性。

管理的灾难复原完全不支持的资产类型既不出现在表中,也未作为成功或错误出现。 他们的缺席并不意味着他们复制了。 请参阅限制。 使用不支持功能(如行筛选、列遮罩或基于属性的访问控制 ABAC)的范围内资产,会在表中显示为失败。

为了确认某个特定资产存在于次级,检查该物体。 由于次级范围内目录是只读的,Azure Databricks建议在次级区域设立单独的只读监控工作区。 参见 建立复制

状态表架构参考

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 字符串 发出事件时复制的状态。 可能的值为INITIAL_REPLICATION、、ACTIVECREATEDUPDATEDDELETEDFAILOVER_STARTEDFAILOVER_FINISHED和。FAILOVER_ABORTED ACTIVE
errors 数组 replication_stateINITIAL_REPLICATIONACTIVE,汇总列出阻碍至少一个资产复制的错误,包括每个错误影响的资产数量。 请参阅 错误参考 请参阅 错误参考
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 列是一个结构,描述在发出事件时由故障转移组管理的资产。 包含以下字段:

字段名称 数据类型 说明
metastore_ids 数组 由故障切换组管理的元存储的ID。
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