Dépannage et limitations
Dépannage
« La base de données recommender_system n'existe pas dans le Hive metastore. »
Une table de fonctionnalités est stockée sous forme de table Delta. La base de données est spécifiée par le préfixe de nom de table, donc une table de caractéristiques recommender_system.customer_features seront stockées dans la base de données recommender_system .
Pour créer la base de données, exécutez :
%sql CREATE DATABASE IF NOT EXISTS recommender_system;
« ModuleNotFoundError: No module named 'databricks.feature_engineering' » ou « ModuleNotFoundError: No module named 'databricks.feature_store' »
Cette erreur se produit lorsque databricks-feature-engineering n'est pas installé sur le Databricks Runtime que vous utilisez.
databricks-feature-engineering est disponible sur PyPI, et peut être installé avec :
%pip install databricks-feature-engineering
« ModuleNotFoundError: No module named 'databricks.feature_store' »
Cette erreur se produit lorsque databricks-feature-store n'est pas installé sur le Databricks Runtime que vous utilisez.
Pour Databricks Runtime 14.3 et versions ultérieures, installez plutôt databricks-feature-engineering via %pip install databricks-feature-engineering
databricks-feature-store est disponible sur PyPI et peut être installé avec :
%pip install databricks-feature-store
"Entrée non valide. Les données ne sont pas compatibles avec la signature du modèle. Impossible de convertir les valeurs non finies...'
Cette erreur peut se produire lors de l'utilisation d'un modèle packagé par un Magasin de fonctionnalités dans Model Serving. Lorsque vous fournissez des valeurs de fonctionnalité personnalisées dans une entrée vers l'Endpoint, vous devez fournir une valeur pour la fonctionnalité pour chaque ligne de l'entrée, ou pour aucune ligne. Vous ne pouvez pas fournir de valeurs personnalisées pour une fonctionnalité pour seulement certaines lignes.
« Aucune boutique en ligne appropriée n'a été trouvée pour les tables de caractéristiques »
Cette erreur se produit lors de la création ou de la recréation d’un Endpoint de service pour un modèle avec recherche automatique de fonctionnalités ou un Feature Serving. Le message d'erreur apparaît dans le Logs d'événements de l'endpoint de service ayant échoué. Cela indique une déconnexion entre votre table de fonctionnalités hors ligne et le Magasin de fonctionnalités en ligne.
Cause 1 : Table non publiée
Les tables de fonctionnalités hors ligne doivent être disponibles dans un magasin en ligne pour la recherche. La cause la plus fréquente de l'erreur est que la table de fonctionnalités requise (répertoriée dans le message d'erreur) n'a pas encore été publiée dans le Magasin de fonctionnalités en ligne.
Résolution : Suivez les instructions du Magasin de fonctionnalités en ligne pour publier la ou les tables mentionnées dans l'erreur.
Cause 2 : Table source recréée (Discordance d'ID)
Dans ce cas, une table de fonctionnalités hors ligne a été publiée dans un magasin en ligne, puis la table de fonctionnalités hors ligne a été supprimée, puis recréée. La table en ligne suit sa source via source_table_id, qui pointe vers le table_id de la table hors ligne. Même si la table de fonctionnalités hors ligne recréée a le même nom, elle possède un nouveau table_id, de sorte que le source_table_id de la table en ligne pointe toujours vers l’ancienne table hors ligne (supprimée).
Diagnostic : Vous pouvez vérifier si c'est le problème en utilisant les étapes suivantes :
-
Obtenir l'ID de la table de fonctionnalités hors ligne :
- Accéder à l'Explorateur de catalogue.
- Repérez votre table de fonctionnalités.
- Ouvrez l'onglet Details tab et recherchez le
table_id.
-
Obtenez l’ID de la source de table en ligne :
- Localisez la table en ligne correspondante dans l'Explorateur de catalogues.
- Ouvrez l'onglet tab .
- Recherchez le
source_table_idsous Propriétés .
Si les ID ne correspondent pas, le Link est rompu. Cela signifie que la table source hors ligne a été recréée. Il existe deux options pour résoudre ce problème.
Option de résolution 1 : Restaurez la table hors ligne précédente :
- Utilisez la commande ALTER TABLE RENAME TO pour modifier le nom de la table actuelle.
- Utilisez la commande UNDROP TABLE WITH ID pour restaurer la table précédente en utilisant le
source_table_idenregistré dans la propriété de la table en ligne. - Mettre à jour ou recréer l'endpoint de service pour se connecter aux nouvelles tables en ligne.
Résolution option 2 : garder la table hors ligne actuelle et la publier dans un nouveau stockage en ligne :
- Suivez les instructions pour publier la table de fonctionnalités.
- Mettre à jour ou recréer l'endpoint de service pour se connecter aux nouvelles tables en ligne.
- Facultatif : Nettoyez l'ancienne table en ligne pour éviter toute confusion.
Limitations
-
Un FeatureSpec peut contenir un maximum de 1 000 fonctionnalités. L'utilisation d'un grand nombre de fonctionnalités dans un seul FeatureSpec peut augmenter la latence du Feature Serving.
-
Un maximum de 50 tables peut être utilisé pour entraîner un modèle.
-
Un maximum de 100 fonctionnalités à la demande peut être utilisé dans un modèle.
-
Les clusters Databricks Runtime ML ne sont pas pris en charge lors de l'utilisation des LakeFlow Pipelines comme tables de fonctionnalités. Utilisez plutôt une ressource compute en mode d'accès standard et installez manuellement le client à l'aide de
pip install databricks-feature-engineering. Vous devez également installer toutes les autres bibliothèques ML requises.Python%pip install databricks-feature-engineering -
Le Magasin de fonctionnalités du Workspace Databricks hérité ne prend pas en charge la suppression de fonctionnalités individuelles d'une table de fonctionnalités.