Aller au contenu principal

Mettre à niveau une table de fonctionnalités d'espace de Workspace vers Unity Catalog

Mettez à niveau une table de fonctionnalités de workspace existante vers Unity Catalog en mettant d'abord à niveau la table Delta sous-jacente, puis en migrant les métadonnées de la table de fonctionnalités à l'aide de upgrade_workspace_table.

Tout d'abord, vous devez mettre à niveau la table Delta sous-jacente du Workspace. Suivez ces instructions : Mettre à niveau les tables et les vues vers Unity Catalog.

Une fois la table sous-jacente et les données disponibles dans Unity Catalog, utilisez upgrade_workspace_table pour mettre à niveau les métadonnées de la table de caractéristiques du Workspace vers Unity Catalog, comme illustré dans le code suivant. Databricks recommande d'utiliser toujours la dernière version de databricks-feature-engineering pour cette opération, quelle que soit la version de Databricks Runtime que vous utilisez.

Python
%pip install --upgrade databricks-feature-engineering

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'
)

Les métadonnées suivantes sont mises à niveau vers Unity Catalog :

  • Clés primaires
  • Colonnes de séries temporelles
  • Commentaires (descriptions) de table et de colonne
  • Balises de table et de colonne
  • Lignage des Notebooks et des Jobs

Si la table cible contient des commentaires de table ou de colonne existants qui sont différents de ceux de la table source, la méthode de mise à niveau ignore la mise à niveau des commentaires et Logs un avertissement. Si vous utilisez la version 0.1.2 ou en dessous de databricks-feature-engineering, une erreur est générée et la mise à niveau ne s'exécute pas. Pour toutes les autres métadonnées, un décalage entre la table cible et la table source provoque une erreur et empêche la mise à niveau. Pour contourner l'erreur et écraser les métadonnées existantes sur la table Unity Catalog cible, passez overwrite = True à l'API :

Python
upgrade_client.upgrade_workspace_table(
source_workspace_table='recommender_system.customer_features',
target_uc_table='ml.recommender_system.customer_features',
overwrite=True
)
remarque
  • Avant d'appeler cette API, vous devez d'abord mettre à niveau la table Delta du workspace sous-jacent vers Unity Catalog.
  • La mise à niveau des balises et des colonnes de séries chronologiques n'est pas prise en charge dans Databricks Runtime 13,2 ML et versions antérieures.
  • N'oubliez pas d'informer les producteurs et les consommateurs de la table de caractéristiques mise à niveau afin qu'ils start à utiliser le nouveau nom de table dans Unity Catalog. Si la table cible dans Unity Catalog a été mise à niveau à l'aide de CREATE TABLE AS SELECT ou d'une méthode similaire qui a cloné la table source, les mises à jour de la table source ne sont pas automatiquement synchronisées dans la table cible.