将工作区特征表升级到 Unity Catalog

本页介绍如何将现有工作区功能表升级到 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 或克隆源表的类似方式升级的,则不会在目标表中自动同步对源表的更新。