自动升级系统表参考

Important

此系统表为公共预览版

本页介绍自动升级操作历史记录表架构,并显示示例查询。 自动升级会自动在 Unity 目录托管表上启用最佳做法功能,而无需更改代码。 系统表跟踪这些操作的历史记录。 有关自动升级的信息,请参阅 自动升级

表路径:此系统表位于 system.storage.table_auto_upgrade_operations_history.

自动升级表架构

自动升级操作历史记录系统表使用以下架构:

列名称 数据类型 Description Example
account_id 字符串 帐户 ID。 11e22ba4-87b9-4cc2-9770-d10b894b7118
metastore_name 字符串 已升级表所属的元存储的名称。 metastore1
metastore_id 字符串 已升级表所属的元存储的 ID。 5a31ba44-bbf4-4174-bf33-e1fa078e6765
catalog_name 字符串 已升级表所属的目录的名称。 catalog
schema_name 字符串 已升级表所属的架构的名称。 schema
table_name 字符串 升级后的表的名称。 table1
table_id 字符串 已升级表的 ID。 138ebb4b-3757-41bb-9e18-52b38d3d2836
feature_name 字符串 自动升级尝试打开的表功能,例如 deletionVectorsrowTracking rowTracking
operation_id 字符串 操作的唯一 ID。 4dad1136-6a8f-418f-8234-6855cfaff18f
operation 字符串 操作的类型。 值包括 ENABLEDISABLE ENABLE
operation_result 字符串 尝试升级操作的结果。 值包括 SUCCESSFULFAILED: INTERNAL_ERROR。 请参阅 operation_result值 SUCCESSFUL
start_time 时间戳 操作开始的时间。 时区信息记录在值的末尾,其中 +00:00 表示 UTC。 2023-01-09 10:00:00.000+00:00
end_time 时间戳 操作结束的时间。 时区信息记录在值的末尾,其中 +00:00 表示 UTC。 2023-01-09 11:00:00.000+00:00

operation_result值

operation_result 列显示尝试的升级操作是成功还是未能在符合条件的表上启用一项功能(记录在 feature_name内)。 如果失败(消息 FAILED: INTERNAL_ERROR),可以手动启用该功能。

示例查询

以下部分包括可用于深入了解自动升级系统表的示例查询。 必须将参数值替换为自己的值。

查询特定表上所有功能的自动升级操作

SELECT
  feature_name,
  operation_result,
  start_time,
  end_time
FROM system.storage.table_auto_upgrade_operations_history
WHERE
  catalog_name = :catalog_name
  AND schema_name = :schema_name
  AND table_name = :table_name
ORDER BY start_time DESC;

查询过去 30 天内的自动升级操作数

SELECT
  feature_name,
  operation_result,
  COUNT(DISTINCT operation_id) AS operations
FROM system.storage.table_auto_upgrade_operations_history
WHERE timestampdiff(day, start_time, NOW()) < 30
GROUP BY ALL
ORDER BY operations DESC;

查询自动升级操作的成功率

WITH operation_counts AS (
  SELECT
    COUNT(DISTINCT (CASE WHEN operation_result = "SUCCESSFUL" THEN operation_id END)) AS successes,
    COUNT(DISTINCT operation_id) AS total_operations
  FROM system.storage.table_auto_upgrade_operations_history
)
SELECT successes / total_operations AS success_rate
FROM operation_counts;

查询失败的自动升级操作

SELECT
  catalog_name,
  schema_name,
  table_name,
  feature_name,
  start_time
FROM system.storage.table_auto_upgrade_operations_history
WHERE operation_result != "SUCCESSFUL"
ORDER BY start_time DESC;