本页介绍如何将现有工作区功能表升级到 Unity 目录。
首先,必须升级基础工作区 Delta 表。 按照以下说明作: 将表和视图升级到 Unity 目录。
在 Unity 目录中提供基础表和数据后,用于 upgrade_workspace_table 将工作区功能表元数据升级到 Unity 目录,如以下代码所示。 无论使用的 Databricks 运行时版本 databricks-feature-engineering 如何,Databricks 都建议始终使用最新版本的此作。
%pip install databricks-feature-engineering --upgrade
dbutils.library.restartPython()
from databricks.feature_engineering import UpgradeClient
upgrade_client = UpgradeClient()
upgrade_client.upgrade_workspace_table(
source_workspace_table='recommender_system.customer_features',
target_uc_table='ml.recommender_system.customer_features'
)
以下元数据已升级到 Unity 目录:
- 主键
- 时序列
- 表和列注释(说明)
- 表和列标记
- 笔记本和作业世系
如果目标表具有与源表不同的现有表或列注释,则升级方法将跳过升级注释并记录警告。 如果使用版本 0.1.2 或更低 databricks-feature-engineering版本,则会引发错误,并且升级不会运行。 对于所有其他元数据,目标表和源表之间的不匹配会导致错误并阻止升级。 若要绕过错误并覆盖目标 Unity 目录表上的任何现有元数据,请传递给 overwrite = True API:
upgrade_client.upgrade_workspace_table(
source_workspace_table='recommender_system.customer_features',
target_uc_table='ml.recommender_system.customer_features',
overwrite=True
)
注释
- 在调用此 API 之前,必须先将基础工作区 Delta 表升级到 Unity 目录。
- Databricks Runtime 13.2 ML 及更低版本不支持升级标记和时序列。
- 请记住通知生成者和使用者已升级的功能表,以开始使用 Unity 目录中的新表名称。 如果 Unity 目录中的目标表是使用
CREATE TABLE AS SELECT或克隆源表的类似方式升级的,则不会在目标表中自动同步对源表的更新。