将工作区特征表升级到 Unity Catalog
本页介绍如何将现有工作区特征表升级到 Unity Catalog。
首先,必须升级基础工作区 Delta 表。 按照以下说明操作:将表和视图升级到 Unity Catalog。
当基础表和数据在 Unity Catalog 中可用后,使用 upgrade_workspace_table
将工作区特征表元数据升级到 Unity Catalog,如以下代码所示。 无论你目前使用的是哪个 Databricks Runtime 版本,Databricks 都建议始终使用最新版本的 databricks-feature-engineering
进行此操作。
%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 Catalog:
- 主键
- 时序列
- 表和列注释(说明)
- 表和列标记
- 笔记本和作业世系
如果目标表已有的表或列注释与源表不同,则升级方法将跳过升级注释并记录警告。 如果使用版本 0.1.2 或更低版本的 databricks-feature-engineering
,则会引发错误,并且不会运行升级。 对于所有其他元数据,目标表和源表之间的不匹配会导致错误并阻止升级。 若要绕过错误并覆盖目标 Unity Catalog 表上的任何现有元数据,请将 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 Catalog。
- Databricks Runtime 13.2 ML 及更低版本不支持对标记和时序列进行升级。
- 请记得通知所升级特征表的生成者和使用者开始使用 Unity Catalog 中的新表名称。 如果使用
CREATE TABLE AS SELECT
或克隆源表的类似方式升级 Unity 目录中的目标表,则不会在目标表中自动同步对源表的更新。