Visualización del linaje del almacén de características

Al registrar un modelo mediante FeatureEngineeringClient.log_model, se realiza un seguimiento automático de las características usadas en el modelo y se pueden ver en la pestaña Linaje del Explorador de catálogos. Además de las tablas de características, también se realiza un seguimiento de las UDF de Python que se usan para calcular las características a petición.

Cómo capturar el linaje de una tabla de características, una función o un modelo

Las tablas y funciones de seguimiento de información de linaje usadas en los modelos se capturan automáticamente al llamar a log_model. Consulte el código de ejemplo siguiente.

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
)

Visualización del linaje de una tabla de características, un modelo o una función

Para ver el linaje de una tabla de características, un modelo o una función, siga estos pasos:

  1. Vaya a la tabla, la versión del modelo o la página de función en el Explorador de catálogos.

  2. Seleccione la pestaña Linaje. La barra lateral izquierda muestra los componentes de Unity Catalog que se registraron con esta tabla, versión del modelo o función.

    Lineage tab on model page in Catalog Explorer

  3. Haga clic en Ver gráfico de linaje. Aparece el gráfico de linaje. Para más información sobre cómo explorar el gráfico de linaje, consulte Captura y exploración del linaje.

    lineage screen

  4. Para cerrar el gráfico de linaje, haga clic en close button for lineage graph en la esquina superior derecha.