Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie is bèta en is beschikbaar in de volgende regio's: us-east-1 en us-west-2.
Nadat u uw declaratieve functiedefinities hebt gemaakt, die zijn opgeslagen in Unity Catalog, kunt u functiegegevens uit uw brontabel produceren met behulp van de functiedefinities. Dit proces wordt het materialiseren van uw functies genoemd. Azure Databricks maakt en beheert declaratieve Pijplijnen van Lakeflow Spark om tabellen in Unity Catalog te vullen voor modeltraining en batchgewijs scoren of online serveren.
Requirements
- Functies moeten worden gemaakt met de declaratieve functie-API en worden opgeslagen in Unity Catalog.
- Zie Vereisten voor versievereisten.
API-gegevensstructuren
OfflineStoreConfig
Configuratie voor de offline opslag waar gematerialiseerde functies worden geschreven. Met de materialisatiepipelines worden nieuwe tabellen in deze opslag gecreëerd.
OfflineStoreConfig(
catalog_name: str, # Catalog name for the offline table where materialized features will be stored
schema_name: str, # Schema name for the offline table
table_name_prefix: str # Table name prefix for the offline table. The pipeline may create multiple tables with this prefix, each updated at different cadences
)
from databricks.feature_engineering.entities import OfflineStoreConfig
offline_store = OfflineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features"
)
OnlineStoreConfig
Configuratie voor de online winkel, waarin kenmerken worden opgeslagen die worden gebruikt door modelserving. Materialisatie maakt Delta-tabellen met de catalog.schema.table_name_prefixen streamt de tabellen naar Lakebase-tabellen met dezelfde naam.
from databricks.feature_engineering.entities import OnlineStoreConfig
online_store = OnlineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features_serving",
online_store_name="customer_features_store"
)
MaterializedFeature
Vertegenwoordigt een declaratieve functie die is gerealiseerd, dat wil gezegd, die een vooraf samengestelde weergave bevat die beschikbaar is in Unity Catalog. Er is een afzonderlijke gematerialiseerde eigenschap voor de offline-tabel en online-tabel. Normaal gesproken instantiëren gebruikers niet rechtstreeks een MaterializedFeature.
API-functie-aanroepen
materialize_features()
Hiermee wordt een lijst met declaratieve kenmerken omgezet in een offline Delta-tabel of in een Online Feature Store.
FeatureEngineeringClient.materialize_features(
features: List[Feature], # List of declarative features to materialize
offline_config: OfflineStoreConfig, # Offline store config if materializing offline
online_config: Optional[OnlineStoreConfig] = None, # Online store config if materializing online
pipeline_state: Union[MaterializedFeaturePipelineScheduleState, str], # Materialization pipeline state - currently must be "ACTIVE"
cron_schedule: Optional[str] = None, # Materialization schedule, specified in quartz cron syntax. Currently must be provided.
) -> List[MaterializedFeature]:
De methode retourneert een lijst met gerealiseerde functies, die metagegevens zoals cron-schema bevatten wanneer functiewaarden worden bijgewerkt en informatie over de Unity Catalog-tabellen waar de functies worden gerealiseerd.
Als er zowel een als OnlineStoreConfig een OfflineStoreConfig worden geleverd, worden er twee gerealiseerde functies geretourneerd per opgegeven functie, één voor elk type winkel.
list_materialized_features()
Retourneert een lijst met alle gerealiseerde functies in de Unity Catalog-metastore van de gebruiker.
Standaard worden maximaal 100 functies geretourneerd. U kunt deze limiet wijzigen met behulp van de max_results parameter.
Als u de geretourneerde gerealiseerde functies wilt filteren op een functienaam, gebruikt u de optionele feature_name parameter.
FeatureEngineeringClient.list_materialized_features(
feature_name: Optional[str] = None, # Optional feature name to filter by
max_results: int = 100, # Maximum number of features to be returned
) -> List[MaterializedFeature]:
Een gematerialiseerd kenmerk verwijderen
Als u een gerealiseerde functie wilt verwijderen, gebruikt u list_materialized_features(). Controleer het table_name kenmerk, navigeer naar die tabel in Unity Catalog en verwijder de tabel met de functie. Gebruik het tabblad Herkomst om eventuele gekoppelde pijplijnen te identificeren en ze ook te verwijderen. Zorg er ten slotte voor dat voor onlinetabellen ook de offlinepijplijn en -tabel worden verwijderd.
In bèta worden verwijderings-API's niet ondersteund. Indien nodig kunt u functiepijplijnen en functietabellen handmatig verwijderen via de Databricks-gebruikersinterface.
Onlinefuncties gebruiken in realtime-toepassingen
Als u functies wilt leveren aan realtime toepassingen en services, maakt u een functie die het eindpunt bedient. Zie Eindpunten voor functiebediening.
Modellen die worden getraind met behulp van kenmerken van Databricks houden automatisch de herkomst bij naar de kenmerken waarop ze zijn getraind. Wanneer deze modellen zijn geïmplementeerd als eindpunten, gebruiken deze modellen Unity Catalog om de juiste functies in online winkels te vinden. Zie Functies gebruiken in onlinewerkstromen voor meer informatie.
Beperkingen
- Doorlopende functies kunnen niet worden gerealiseerd.
- U kunt alleen werken met gerealiseerde functies in de werkruimte waarin ze zijn gemaakt.
- Het verwijderen en onderbreken van een functie moet handmatig worden beheerd op pijplijnniveau.