Dela via


Funktionalitetshantering och härkomst

På den här sidan beskrivs styrnings- och ursprungsfunktionerna för funktionsutveckling i Unity Catalog.

Information om hur du övervakar prestanda för en hanterad modell och ändringar i funktionstabelldata finns i Lakehouse Monitoring.

Kontrollera åtkomsten till funktionstabeller

Åtkomstkontroll för funktionstabeller i Unity Catalog hanteras av Unity Catalog. Se Behörigheter för Unity Catalog.

Visa egenskapstabell, funktion och modellhistorik

När du loggar en modell med FeatureEngineeringClient.log_modelspåras de egenskaper som används i modellen automatiskt och kan visas på fliken Ursprung i Katalogutforskaren. Förutom funktionstabeller spåras även Python-UDF:er som används för att beräkna funktioner på begäran.

Hur man spårar härstamning för en funktionstabell, funktion eller modell

Funktionstabeller och funktioner för härstamningsdataspårning som används i modeller registreras automatiskt när du anropar log_model. Se följande exempelkod.

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
)

Visa ursprunget för en funktionstabell, modell eller funktion

Följ dessa steg om du vill visa ursprunget för en funktionstabell, modell eller funktion:

  1. Gå till tabellen, modellversionen eller funktionssidan i Katalogutforskaren.

  2. Välj fliken Ursprung. Det vänstra sidofältet visar Unity Catalog-komponenter som loggades med den här tabellen, modellversionen eller funktionen.

    fliken Härstamning på modellsidan i Katalogutforskaren

  3. Klicka på Visa ursprungsdiagram. Härstamningsdiagrammet visas. Mer information om hur du utforskar ursprungsdiagrammet finns i Avbilda och utforska ursprung.

    stamtavla skärm

  4. Om du vill stänga ursprungsdiagrammet klickar du på knappen stäng för ursprungsdiagram i det övre högra hörnet.