Aller au contenu principal

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.

remarque

À 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-feature-engineering

FeatureEngineeringClient

Databricks Runtime 14,3 ML et versions supérieures

Espace de travail

databricks-feature-engineering

FeatureStoreClient

Databricks Runtime 14.2 ML et versions inférieures

Unity Catalog

databricks-feature-engineering

FeatureEngineeringClient

Databricks Runtime 14.2 ML et versions inférieures

Espace de travail

databricks-feature-store

FeatureStoreClient

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-feature-engineering

FeatureEngineeringClient

Databricks Runtime 14,3 ML et versions supérieures

Espace de travail

databricks-feature-engineering

FeatureStoreClient

Databricks Runtime 14.2 ML et versions inférieures

Unity Catalog

databricks-feature-engineering

FeatureEngineeringClient

Databricks Runtime 14.2 ML et versions inférieures

Espace de travail

databricks-feature-store

FeatureStoreClient

remarque
  • databricks-feature-engineering<=0.7.0 n'est pas compatible avec mlflow>=2.18.0. Pour utiliser databricks-feature-engineering avec MLflow 2.18.0 et versions ultérieures, mettez à niveau vers la version 0.8.0 ou ultérieure de databricks-feature-engineering.

Notes de version

Consultez les notes de publication du Magasin de fonctionnalités Databricks et de l'ancien Magasin de fonctionnalités Workspace.

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)

remarque
  • À 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 databricks-feature-engineering version 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

Référence de l'API en ligne

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

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

Référence de l'API en ligne

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

remarque
  • À partir de la version 0.2.0, databricks-feature-engineering contient des modules pour travailler avec les tables de fonctionnalités dans Unity Catalog et le Workspace Magasin de fonctionnalités. databricks-feature-engineering sous 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 :

Python
%pip install databricks-feature-engineering

Pour installer le client dans un environnement Python local :

Python
pip install databricks-feature-engineering

Magasin de fonctionnalités Workspace (obsolète)

remarque
  • À partir de la version 0.17.0, databricks-feature-store a été déprécié. Tous les modules existants de ce package sont maintenant disponibles dans databricks-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 :

Python
%pip install databricks-feature-store

Pour installer le client dans un environnement Python local :

Python
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 :

Python
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.