Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina descrive le funzionalità di governance e lineage del feature engineering in Unity Catalog.
Per informazioni sul monitoraggio delle prestazioni di un modello servito e sulle modifiche apportate ai dati della tabella delle funzionalità, vedere Lakehouse Monitoring.
Controllare l'accesso alle tabelle delle funzionalità
Il controllo di accesso per le tabelle delle feature in Unity Catalog è gestito da Unity Catalog. Consultare i privilegi del catalogo Unity.
Visualizzare la tabella delle funzionalità, la funzione e la derivazione del modello
Quando si registra un modello usando FeatureEngineeringClient.log_model
, le caratteristiche usate nel modello vengono rilevate automaticamente e possono essere visualizzate nella scheda Lineage di Catalog Explorer. Oltre alle tabelle delle feature, vengono monitorate anche le funzioni definite dall'utente (UDF) in Python, che sono utilizzate per calcolare le feature su richiesta.
Come acquisire la derivazione di una tabella delle funzionalità, una funzione o un modello
Le tabelle e le funzioni della funzionalità di tracciamento delle informazioni di derivazione usate nei modelli vengono acquisite automaticamente quando si chiama log_model
. Vedere il codice di esempio seguente.
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
)
Visualizzare la derivazione di una tabella delle funzionalità, un modello o una funzione
Per visualizzare la derivazione di una tabella delle funzionalità, un modello o una funzione, seguire questa procedura:
Passare alla tabella, alla versione del modello o alla pagina della funzione in Esplora cataloghi.
Selezionare la scheda Lineage. La barra laterale sinistra mostra i componenti del Catalogo Unity registrati in questa tabella, versione del modello o funzione.
Fare clic su Vedere il grafico di derivazione. Viene visualizzato il grafico di derivazione. Per informazioni dettagliate sull'esplorazione del grafico di derivazione, vedere Visualizzare la derivazione dei dati con Unity Catalog.
Per chiudere il grafico di derivazione, fare clic
nell'angolo superiore destro.