Functiebeheer en afstamming
Op deze pagina worden de governance- en herkomstmogelijkheden van functie-engineering in Unity Catalog beschreven.
Zie Lakehouse Monitoringvoor informatie over het bewaken van de prestaties van een geleverd model en wijzigingen in functietabelgegevens.
Toegang tot functietabellen beheren
Toegangsbeheer voor functietabellen in Unity Catalog wordt beheerd door Unity Catalog. Zie Unity Catalog-bevoegdheden.
Functietabel, functie en modelherkomst weergeven
Wanneer u een model aanmeldt met FeatureEngineeringClient.log_model
, worden de functies die in het model worden gebruikt, automatisch bijgehouden en kunnen ze worden weergegeven op het tabblad Herkomst van Catalog Explorer. Naast functietabellen worden Python UDF's die worden gebruikt voor het berekenen van functies op aanvraag ook bijgehouden.
Hoe leg je de herkomst van een featuretabel, functie of model vast?
In modellen gebruikte functietabellen en functies voor het bijhouden van herkomstgegevens worden automatisch vastgelegd wanneer u log_model
aanroept. Zie de volgende voorbeeldcode.
from databricks.feature_engineering import FeatureEngineeringClient, FeatureLookup, FeatureFunction
fe = FeatureEngineeringClient()
features = [
FeatureLookup(
table_name = "main.on_demand_demo.restaurant_features",
feature_names = ["latitude", "longitude"],
rename_outputs={"latitude": "restaurant_latitude", "longitude": "restaurant_longitude"},
lookup_key = "restaurant_id",
timestamp_lookup_key = "ts"
),
FeatureFunction(
udf_name="main.on_demand_demo.extract_user_latitude",
output_name="user_latitude",
input_bindings={"blob": "json_blob"},
),
FeatureFunction(
udf_name="main.on_demand_demo.extract_user_longitude",
output_name="user_longitude",
input_bindings={"blob": "json_blob"},
),
FeatureFunction(
udf_name="main.on_demand_demo.haversine_distance",
output_name="distance",
input_bindings={"x1": "restaurant_longitude", "y1": "restaurant_latitude", "x2": "user_longitude", "y2": "user_latitude"},
)
]
training_set = fe.create_training_set(
label_df, feature_lookups=features, label="label", exclude_columns=["restaurant_id", "json_blob", "restaurant_latitude", "restaurant_longitude", "user_latitude", "user_longitude", "ts"]
)
class IsClose(mlflow.pyfunc.PythonModel):
def predict(self, ctx, inp):
return (inp['distance'] < 2.5).values
model_name = "fe_packaged_model"
mlflow.set_registry_uri("databricks-uc")
fe.log_model(
IsClose(),
model_name,
flavor=mlflow.pyfunc,
training_set=training_set,
registered_model_name=registered_model_name
)
De herkomst van een functietabel, model of functie weergeven
Voer de volgende stappen uit om de herkomst van een functietabel, -model of -functie weer te geven:
Navigeer naar de tabel, modelversie of functiepagina in Catalog Explorer.
Selecteer de tab Lineage. In de linkerzijbalk ziet u Unity Catalog-componenten die zijn geregistreerd met deze tabel, modelversie of functie.
Klik op Herkomstgrafiek weergeven. De herkomstgrafiek wordt weergegeven. Zie voor meer informatie over het verkennen van de herkomstgrafiek Vastleggen en verkennen van herkomst.
Als u de herkomstgrafiek wilt sluiten, klikt u op
in de rechterbovenhoek.