Compartir a través de


Gobernanza y linaje de características.

En esta página se describen las funcionalidades de gobernanza y linaje de la ingeniería de características en el catálogo de Unity.

Para obtener información sobre cómo supervisar el rendimiento de un modelo servido y los cambios en los datos de la tabla de características, consulte Lakehouse Monitoring.

Control del acceso a las tablas de características

El control de acceso a tablas de características en el catálogo de Unity se administra mediante el catálogo de Unity. Consulte Privilegios del catálogo de Unity.

Visualización de la tabla de características, la función y el linaje del modelo

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.

    Pestaña Linaje de la página de modelos en Catalog Explorer

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

    pantalla de linaje

  4. Para cerrar el gráfico de linaje, haga clic en botón para cerrar el grafo de linaje en la esquina superior derecha.