Delen via


Functiebeheer en afstamming

Op deze pagina worden de governance- en herkomstmogelijkheden van functie-engineering in Unity Catalogbeschreven.

Zie Lakehouse Monitoringvoor informatie over het bewaken van de prestaties van een geleverd model en wijzigingen in functiegegevens table.

Toegang tot functie-tables beheren

Toegangsbeheer voor functie-tables in Unity Catalog wordt beheerd door Unity Catalog. Zie Unity Catalog bevoegdheden.

Kenmerk table, functie en modelherkomst weergeven

Wanneer u een model registreert met FeatureEngineeringClient.log_model, worden de kenmerken die in het model worden gebruikt automatisch bijgehouden en kunnen ze bekeken worden in het Herkomst-tabblad van Catalog Explorer. Naast functie-tablesworden Python UDF's die worden gebruikt voor het berekenen van functies op aanvraag ook bijgehouden.

Herkomst van een kenmerk table, functie of model vastleggen

De functie voor het bijhouden van herkomstgegevens tables en functies die in modellen worden gebruikt, worden automatisch vastgelegd wanneer u log_modelaanroept. 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 feature table, model of functie weergeven

Voer de volgende stappen uit om de herkomst van een kenmerk table, een model of een functie weer te geven:

  1. Navigeer naar de table-pagina, modelversie of functiepagina in Catalog Explorer.

  2. Select het tabblad Afstamming. In de linkerzijbalk ziet u Unity Catalog componenten die zijn vastgelegd met dit table, deze modelversie of functie.

    tabblad Lijn op de modelpagina in Catalog Explorer

  3. Klik op Herkomstgrafiek weergeven. De herkomstgrafiek wordt weergegeven. Zie voor meer informatie over het verkennen van de herkomstgrafiek Vastleggen en verkennen van herkomst.

    afstammingsscherm

  4. Als u de herkomstgrafiek wilt sluiten, klikt u op knop Sluiten voor herkomstgrafiek in de rechterbovenhoek.