Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
Den här funktionen finns i offentlig förhandsversion och är tillgänglig i följande regioner:
westus, westus2, eastus, eastus2, northeurope, westeurope, australiaeast, brazilsouth, canadacentral, centralindia, centralus, southcentralus, southeastasiauksouth
Databricks Online Feature Stores är en högpresterande, skalbar lösning för att betjäna funktionsdata till onlineprogram och maskininlärningsmodeller i realtid. Den drivs av Databricks Lakebase och ger åtkomst till funktionsdata med låg latens och i stor skala, samtidigt som överensstämmelse med dina offline-funktionstabeller bibehålls.
De primära användningsfallen för Online Feature Stores är:
- Att tillhandahålla funktioner till realtidsapplikationer såsom rekommendationssystem, bedrägeridetektion och personanpassningsmotorer med hjälp av funktionstjänst-slutpunkter.
- Automatisk funktionsökning för slutsatsdragning i realtid i modell som betjänar slutpunkter.
Requirements
Databricks Online Feature Stores kräver Databricks Runtime 16.4 LTS ML eller senare. Du kan också använda serverlös beräkning.
Om du vill använda Databricks Online Feature Stores måste du först installera paketet. Följande kodrader måste köras varje gång en notebook-fil körs:
%pip install databricks-feature-engineering>=0.13.0
dbutils.library.restartPython()
Skapa en onlinebutik
Så här skapar du en ny onlinefunktionsbutik:
from databricks.feature_engineering import FeatureEngineeringClient
# Initialize the client
fe = FeatureEngineeringClient()
# Create an online store with specified capacity
fe.create_online_store(
name="my-online-store",
capacity="CU_2" # Valid options: "CU_1", "CU_2", "CU_4", "CU_8"
)
Kapacitetsalternativen motsvarar olika prestandanivåer "CU_1", "CU_2", "CU_4" och "CU_8". Varje kapacitetsenhet allokerar cirka 16 GB RAM-minne till databasinstansen, tillsammans med alla associerade CPU- och lokala SSD-resurser. Om du skalar upp ökar resurserna linjärt. Mer information finns i Hantera instanskapacitet.
Hantera onlinebutiker
Följande kod visar hur du hämtar och uppdaterar onlinebutiker:
# Get information about an existing online store
store = fe.get_online_store(name="my-online-store")
if store:
print(f"Store: {store.name}, State: {store.state}, Capacity: {store.capacity}")
# Update the capacity of an online store
updated_store = fe.update_online_store(
name="my-online-store",
capacity="CU_4" # Upgrade to higher capacity
)
Lägga till läsrepliker i en onlinebutik
När du skapar eller uppdaterar en onlinebutik kan du lägga till läsrepliker i onlinebutiken genom att ange parametern read_replica_count . Lästrafik distribueras automatiskt över läsrepliker, vilket minskar svarstiden och förbättrar prestanda och skalbarhet för arbetsbelastningar med hög samtidighet.
Publicera en funktionstabell till en onlinebutik
När din onlinebutik är i tillståndet TILLGÄNGLIG kan du publicera funktionstabeller för att göra dem tillgängliga för åtkomst med låg svarstid. Granska tabellen nedan för att se till att källtabellen offline har skapats korrekt för användningsfallet i realtid.
| Användningsfall | Skapa offlinefunktionstabellen med den här metoden |
|---|---|
| Endast de senaste funktionsvärdena för varje entitets-ID är tillgängliga i onlinebutiken för realtidsprogram. Flera rader med samma primärnyckelvärde men olika tidsserienyckelvärden kan finnas i offlinedatakällan och dedupliceras i publiceringspipelinen. Det här fallet används oftast för onlinemodell eller funktion som betjänar slutpunkter. |
Skapa tabell med tidsseriebeteckning |
| De senaste och alla tidigare tidsseriefunktionsvärden från offlinetabellen är tillgängliga i onlinebutiken för åtkomst via realtidsprogram. Alla rader från källtabellen (offline) publiceras utan deduplicering. Detta används sällan men kan krävas där slutpunkter frågar efter entitets-ID och exakt datum/tidsstämpel för dataverifiering eller backtestning. |
Skapa tabell utan tidsseriebeteckning |
Förutsättningar för publicering till onlinebutiker
Alla funktionstabeller (med eller utan tidsserier) måste uppfylla dessa krav innan de publiceras:
- Primär nyckelbegränsning: Krävs för publicering av onlinebutiker
- Icke-nullbara primära nycklar: Primärnyckelkolumner får inte innehålla NULL-värden
- Ändringsdataflöde aktiverat: Krävs för synkronisering av onlinebutik. Se Aktivera ändringsdataflöde
-- Enable CDF if not already enabled
ALTER TABLE catalog.schema.your_feature_table
SET TBLPROPERTIES ('delta.enableChangeDataFeed' = 'true');
-- Ensure primary key columns are not nullable
ALTER TABLE catalog.schema.your_feature_table
ALTER COLUMN user_id SET NOT NULL;
Så här publicerar du en funktionstabell i en onlinebutik:
from databricks.ml_features.entities.online_store import DatabricksOnlineStore
# Get the online store instance
online_store = fe.get_online_store(name="my-online-store")
# Publish the feature table to the online store
fe.publish_table(
online_store=online_store,
source_table_name="catalog_name.schema_name.feature_table_name",
online_table_name="catalog_name.schema_name.online_feature_table_name"
)
Åtgärden publish_table gör följande:
- Skapa en tabell i onlinebutiken om den inte finns.
- Synkronisera funktionsdata från offline-funktionstabellen till onlinebutiken.
- Konfigurera nödvändig infrastruktur för att hålla onlinebutiken synkroniserad med offlinetabellen.
Uppdatera onlinefunktioner kontinuerligt
Om publish_table anropas med streaming=True, konfigureras onlinetabellen med en strömmande pipeline för att kontinuerligt uppdatera onlinebutiken när nya data tas emot i offline-funktionstabellen.
Schemalägga uppdateringar av onlinefunktioner
Om du vill uppdatera funktioner i en onlinetabell regelbundet skapar du ett schemalagt Lakeflow-jobb som kör publish_table. Jobbet uppdaterar tabellen automatiskt och uppdaterar onlinefunktionerna stegvis. Se Lakeflow Jobs.
Utforska och sök onlineegenskaper
När din publicerade tabellstatus visas som "TILLGÄNGLIG" kan du utforska och köra frågor mot funktionsdata på flera sätt:
Användargränssnitt för Unity Catalog: Navigera till onlinetabellen i Unity Catalog för att visa exempeldata och utforska schemat direkt i användargränssnittet. Det här är ett praktiskt sätt att inspektera dina funktionsdata och kontrollera att publiceringsprocessen har slutförts.
SQL-redigerare: För mer avancerad fråge- och datautforskning kan du använda SQL-redigeraren för att köra PostgreSQL-frågor mot dina onlinefunktionstabeller. På så sätt kan du utföra komplexa frågor, kopplingar och analyser på dina funktionsdata. Detaljerade anvisningar om hur du använder SQL-redigeraren med onlinebutiker finns i Åtkomst till en databasinstans från SQL-redigeraren.
Använda onlinefunktioner i realtidsprogram
Skapa en funktion som betjänar slutpunkten för att hantera funktioner i realtidsprogram och -tjänster. Se Funktionsserverslutpunkter.
Modeller som tränas med hjälp av funktioner från Databricks spårar automatiskt ursprung till de funktioner som de har tränats på. När de distribueras som slutpunkter använder dessa modeller Unity Catalog för att hitta lämpliga funktioner i onlinebutiker. Mer information finns i Använda funktioner i onlinearbetsflöden.
Ta bort en onlinebutik
Så här tar du bort en onlinebutik:
fe.delete_online_store(name="my-online-store")
Note
Om du tar bort en onlinepublicerad tabell kan det leda till oväntade fel i underordnade beroenden. Innan du tar bort en tabell bör du säkerställa att dess onlinefunktioner inte längre används av modell- eller funktionsserver-slutpunkter.
Limitations
- Det maximala antalet läsrepliker för en Databricks online-funktionsbutik är 2. Kontakta ditt Databricks-kontoteam för att öka gränsen.
- Följande parametrar stöds inte när du publicerar till ett Databricks-onlinefunktionsarkiv:
filter_condition,checkpoint_location,mode,triggerochfeatures. - Endast funktionstabeller i Unity Catalog stöds.
- Det enda publiceringsläge som stöds är "merge".
Exempelanteckningsbok
Följande notebook-fil visar ett exempel på hur du konfigurerar och får åtkomst till en Databricks Online Feature Store med Databricks Lakebase.
Onlinefunktionsbutik med Lakebase Notebook
Ytterligare resurser
- Läs mer om funktionsutveckling i Databricks.
- Utforska datastyrningar och ursprung i Unity Catalog.
- Förstå Lakebase-arkitektur och -funktioner.