API Python d'ingénierie des fonctionnalités
Le client Python Databricks Feature Engineering (databricks-feature-engineering) fournit des APIs pour travailler avec des tables de fonctionnalités et des magasins en ligne. Cette page renvoie vers la référence de l'API et décrit les packages clients, y compris l'ancienne version héritée obsolète databricks-feature-store.
À partir de la version 0.17.0, databricks-feature-store a été déprécié. Tous les modules existants de ce package sont désormais disponibles dans la version 0.2.0 de databricks-feature-engineering et ultérieures. Pour des informations sur la migration vers databricks-feature-engineering, consultez Migrate to databricks-feature-engineering.
Matrice de compatibilité
Le package et le client que vous devez utiliser dépendent de l'emplacement de vos tables de fonctionnalités et de la version de Databricks Runtime ML que vous exécutez, comme indiqué dans le tableau suivant.
Pour identifier la version du package qui est intégrée à votre version de Databricks Runtime ML, consultez la Matrice de compatibilité de l’ingénierie des fonctionnalités.
Version de Databricks Runtime | Pour les tables de fonctionnalités dans | Utiliser le package | Utiliser le client Python |
|---|---|---|---|
Databricks Runtime 14,3 ML et versions supérieures | Unity Catalog |
|
|
Databricks Runtime 14,3 ML et versions supérieures | Espace de travail |
|
|
Databricks Runtime 14.2 ML et versions inférieures | Unity Catalog |
|
|
Databricks Runtime 14.2 ML et versions inférieures | Espace de travail |
|
|
databricks-feature-engineering<=0.7.0n'est pas compatible avecmlflow>=2.18.0. Pour utiliserdatabricks-feature-engineeringavec MLflow 2.18.0 et versions ultérieures, mettez à niveau vers la version 0.8.0 ou ultérieure dedatabricks-feature-engineering.
Notes de version
Référence de l'API Python d'ingénierie des fonctionnalités
Consultez la référence de l'API Python d'ingénierie des fonctionnalités.
Référence de l’API Python du Magasin de fonctionnalités du Workspace (dépréciée)
- À partir de la version 0.17.0,
databricks-feature-storea été déprécié. Tous les modules existants de ce package sont désormais disponibles dansdatabricks-feature-engineeringversion 0.2.0 et ultérieures.
Pour databricks-feature-store v0.17.0, consultez Databricks FeatureStoreClient dans la référence de l'API Python de Feature Engineering pour la dernière référence de l'API du Magasin de fonctionnalités du Workspace.
Pour la v0.16.3 et les versions antérieures, utilisez les liens du tableau pour download ou afficher la référence de l'API Python du Magasin de fonctionnalités. Pour déterminer la version préinstallée pour votre version de Databricks Runtime ML, consultez la matrice de compatibilité.
Version | download le PDF | Référence de l'API en ligne |
|---|---|---|
v0.3.5 à v0.16.3 | PDF de référence de l'API Python du magasin de fonctionnalités 0.16.3 | |
v0,3,5 et inférieur | PDF de référence de l'API Python 0.3.5 du Magasin de fonctionnalités | Référence API en ligne non disponible |
Package Python
Cette section décrit comment installer les packages Python pour utiliser Databricks Feature Engineering et Databricks Workspace Magasin de fonctionnalités.
Ingénierie des fonctionnalités
- À partir de la version 0.2.0,
databricks-feature-engineeringcontient des modules pour travailler avec les tables de fonctionnalités dans Unity Catalog et le Workspace Magasin de fonctionnalités.databricks-feature-engineeringsous la version 0.2.0 fonctionne uniquement avec les tables de fonctionnalités dans Unity Catalog.
Les API de Databricks Feature Engineering sont disponibles via le package client Python databricks-feature-engineering. Le client est disponible sur PyPI et est préinstallé dans Databricks Runtime 13,3 LTS ML et versions supérieures.
Pour une référence de la version client qui correspond à quelle version d'exécution, consultez la matrice de compatibilité.
Pour installer le client dans Databricks Runtime :
%pip install databricks-feature-engineering
Pour installer le client dans un environnement Python local :
pip install databricks-feature-engineering
Magasin de fonctionnalités Workspace (obsolète)
- À partir de la version 0.17.0,
databricks-feature-storea été déprécié. Tous les modules existants de ce package sont maintenant disponibles dansdatabricks-feature-engineering, version 0.2.0 et ultérieure. - Consultez Migrate to databricks-feature-engineering pour plus d'informations.
Les APIs du Magasin de fonctionnalités Databricks sont disponibles via le package client Python databricks-feature-store. Le client est disponible sur PyPI et est préinstallé dans Databricks Runtime for Machine Learning. Pour connaître les versions de client incluses dans chaque environnement d'exécution, consultez la matrice de compatibilité.
Pour installer le client dans Databricks Runtime :
%pip install databricks-feature-store
Pour installer le client dans un environnement Python local :
pip install databricks-feature-store
Migrer vers databricks-feature-engineering
Pour installer le package databricks-feature-engineering, utilisez pip install databricks-feature-engineering au lieu de pip install databricks-feature-store. Tous les modules de databricks-feature-store ont été déplacés vers databricks-feature-engineering, vous n'avez donc pas à modifier de code. Les instructions d’importation telles que from databricks.feature_store import FeatureStoreClient continueront de fonctionner après que vous ayez installé databricks-feature-engineering.
Pour travailler avec les tables de fonctionnalités dans Unity Catalog, utilisez FeatureEngineeringClient. Pour utiliser le Workspace Magasin de fonctionnalités, vous devez utiliser FeatureStoreClient.
Scénarios pris en charge
Sur Databricks, y compris Databricks Runtime et Databricks Runtime for Machine Learning, vous pouvez :
- Créer, lire et écrire des tables de fonctionnalités.
- Entraînez et évaluez des modèles sur des données de fonctionnalités.
- Publier les tables de fonctionnalités dans des magasins en ligne pour un service en temps réel.
À partir d'un environnement local ou d'un environnement externe à Databricks, vous pouvez :
- Développez du code avec la prise en charge des IDE locaux.
- Test unitaire utilisant des frameworks de simulation.
- Écrire des tests d'intégration à exécuter sur Databricks.
Limitations
La bibliothèque cliente peut uniquement être exécutée sur Databricks, y compris Databricks Runtime et Databricks Runtime for Machine Learning. Il ne prend pas en charge l'appel de Feature Engineering dans Unity Catalog ou des APIs du Magasin de fonctionnalités depuis un environnement local, ou depuis un environnement autre que Databricks.
Utilisez les clients pour les tests unitaires
Vous pouvez installer le client Feature Engineering dans Unity Catalog ou le client Magasin de fonctionnalités localement pour faciliter l'exécution des tests unitaires.
Par exemple, pour valider qu'une méthode update_customer_features appelle correctement
FeatureEngineeringClient.write_table (ou pour le Magasin de fonctionnalités Workspace,
FeatureStoreClient.write_table), vous pourriez écrire :
from unittest.mock import MagicMock, patch
from my_feature_update_module import update_customer_features
from databricks.feature_engineering import FeatureEngineeringClient
@patch.object(FeatureEngineeringClient, "write_table")
@patch("my_feature_update_module.compute_customer_features")
def test_something(compute_customer_features, mock_write_table):
customer_features_df = MagicMock()
compute_customer_features.return_value = customer_features_df
update_customer_features() # Function being tested
mock_write_table.assert_called_once_with(
name='ml.recommender_system.customer_features',
df=customer_features_df,
mode='merge'
)
Utilisez les clients pour les tests d'intégration
Vous pouvez exécuter des tests d'intégration avec le client Feature Engineering in Unity Catalog ou le client du Magasin de fonctionnalités sur Databricks. Pour plus de détails, consultez Outils et conseils pour les développeurs : Utiliser la CI/CD.