Dela via


Funktionsutveckling och Funktionslager för arbetsyta Python API

Den här sidan innehåller länkar till Python API-dokumentationen för Databricks Feature Engineering och Databricks äldre funktionslager för arbetsytor och information om klientpaketen databricks-feature-engineering och databricks-feature-store.

Kommentar

Från och med version 0.17.0 databricks-feature-store har inaktuellt. Alla befintliga moduler från det här paketet är nu tillgängliga i databricks-feature-engineering version 0.2.0 och senare. Information om hur du migrerar till databricks-feature-engineeringfinns i Migrera till databricks-feature-engineering.

Kompatibilitetsmatris

Vilket paket och vilken klient du ska använda beror på var dina funktionstabeller finns och vilken Databricks Runtime ML-version du kör, som du ser i följande tabell.

Information om vilken paketversion som är inbyggd i din Databricks Runtime ML-version finns i kompatibilitetsmatrisen för funktionstekniker.

Databricks Runtime-version För funktionstabeller i Använda paket Använda Python-klienten
Databricks Runtime 14.3 ML och senare Unity Catalog databricks-feature-engineering FeatureEngineeringClient
Databricks Runtime 14.3 ML och senare Arbetsyta databricks-feature-engineering FeatureStoreClient
Databricks Runtime 14.2 ML och lägre Unity Catalog databricks-feature-engineering FeatureEngineeringClient
Databricks Runtime 14.2 ML och lägre Arbetsyta databricks-feature-store FeatureStoreClient

Kommentar

  • databricks-feature-engineering<=0.7.0 är inte kompatibelt med mlflow>=2.18.0. Om du vill använda databricks-feature-engineering med MLflow 2.18.0 och senare uppgraderar du till databricks-feature-engineering version 0.8.0 eller senare.

Viktig information

Se Versionsanteckningar för Databricks funktionsutveckling och äldre Funktionsbutik för arbetsytor.

Referens för Python API för funktionsutveckling

Se referensen för Python API för funktionsutveckling.

Python API-referens för Arbetsytans funktionslager (inaktuell)

Kommentar

  • Från och med version 0.17.0 databricks-feature-store har inaktuellt. Alla befintliga moduler från det här paketet är nu tillgängliga i databricks-feature-engineering version 0.2.0 och senare.

För databricks-feature-store v0.17.0, se Databricks i Funktionsutveckling FeatureStoreClient Python API-referens för den senaste API-referensen för arbetsytans funktionslager.

För v0.16.3 och senare använder du länkarna i tabellen för att ladda ned eller visa Referens för Python API för funktionsarkiv. Information om hur du fastställer den förinstallerade versionen för din Databricks Runtime ML-version finns i kompatibilitetsmatrisen.

Version Ladda ned PDF Api-referens online
v0.3.5 till v0.16.3 Referens-PDF för Python API 0.16.3 för Funktionsarkiv Api-referens online
v0.3.5 och lägre Referens-PDF för Python API 0.3.5 för Funktionsarkiv Online-API-referens är inte tillgänglig

Python-paket

I det här avsnittet beskrivs hur du installerar Python-paketen för att använda Databricks Feature Engineering och Databricks Workspace Feature Store.

Funktionsframställning

Kommentar

  • Från och med version 0.2.0 databricks-feature-engineering innehåller moduler för att arbeta med funktionstabeller i både Unity Catalog och Workspace Feature Store. databricks-feature-engineering nedanstående version 0.2.0 fungerar endast med funktionstabeller i Unity Catalog.

Api:erna för databricks-funktionsutveckling är tillgängliga via Python-klientpaketet databricks-feature-engineering. Klienten är tillgänglig på PyPI och är förinstallerad i Databricks Runtime 13.3 LTS ML och senare.

En referens för vilken klientversion som motsvarar vilken körningsversion finns i kompatibilitetsmatrisen.

Så här installerar du klienten i Databricks Runtime:

%pip install databricks-feature-engineering

Så här installerar du klienten i en lokal Python-miljö:

pip install databricks-feature-engineering

Funktionsarkiv för arbetsyta (inaktuellt)

Kommentar

Api:er för Databricks-funktionslager är tillgängliga via Python-klientpaketet databricks-feature-store. Klienten är tillgänglig på PyPI och är förinstallerad i Databricks Runtime for Machine Learning. En referens för vilken körning som innehåller vilken klientversion finns i kompatibilitetsmatrisen.

Så här installerar du klienten i Databricks Runtime:

%pip install databricks-feature-store

Så här installerar du klienten i en lokal Python-miljö:

pip install databricks-feature-store

Migrera till databricks-feature-engineering

Om du vill installera databricks-feature-engineering paketet använder du pip install databricks-feature-engineering i stället för pip install databricks-feature-store. Alla moduler i databricks-feature-store har flyttats till databricks-feature-engineering, så du behöver inte ändra någon kod. Importinstruktioner som from databricks.feature_store import FeatureStoreClient fortsätter att fungera när du har installerat databricks-feature-engineering.

Om du vill arbeta med funktionstabeller i Unity Catalog använder du FeatureEngineeringClient. Om du vill använda Arbetsytans funktionslager måste du använda FeatureStoreClient.

Stödda scenarier

På Databricks, inklusive Databricks Runtime och Databricks Runtime for Machine Learning, kan du:

  • Skapa, läsa och skriva funktionstabeller.
  • Träna och poängsätta modeller på funktionsdata.
  • Publicera funktionstabeller i onlinebutiker för realtidsservering.

Från en lokal miljö eller en miljö utanför Databricks kan du:

  • Utveckla kod med lokalt IDE-stöd.
  • Enhetstest med hjälp av falska ramverk.
  • Skriv integrationstester som ska köras på Databricks.

Begränsningar

Klientbiblioteket kan bara köras på Databricks, inklusive Databricks Runtime och Databricks Runtime för Machine Learning. Den stöder inte anrop av funktionstekniker i Unity-katalog- eller funktionslager-API:er från en lokal miljö eller från en annan miljö än Databricks.

Använda klienterna för enhetstestning

Du kan installera funktionstekniken i Unity Catalog-klienten eller Funktionsbutiksklienten lokalt för att underlätta körningen av enhetstester.

Om du till exempel vill verifiera att en metod update_customer_features anropar FeatureEngineeringClient.write_table (eller för Workspace Feature Store, FeatureStoreClient.write_table) kan du skriva:

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

Använda klienterna för integreringstestning

Du kan köra integreringstester med funktionstekniken i Unity Catalog-klienten eller Feature Store-klienten på Databricks. Mer information finns i Utvecklarverktyg och vägledning: Använd CI/CD.