Partilhar via


Ver linhagem da loja de recursos

Quando você registra um modelo usando FeatureEngineeringClient.log_modelo , os recursos usados no modelo são rastreados automaticamente e podem ser exibidos na guia Linhagemdo Catalog Explorer. Além das tabelas de recursos, UDFs Python que são usadas para calcular recursos sob demanda também são rastreadas.

Como capturar a linhagem de uma tabela de recursos, função ou modelo

As tabelas de recursos de rastreamento de informações de linhagem e as funções usadas nos modelos são capturadas automaticamente quando você chama log_modelo . Consulte o código de exemplo a seguir.

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
)

Exibir a linhagem de uma tabela de recursos, modelo ou função

Para exibir a linhagem de uma tabela de recursos, modelo ou função, siga estas etapas:

  1. Navegue até a tabela, a versão do modelo ou a página da função no Gerenciador de Catálogos.

  2. Selecione a guia Linhagem . A barra lateral esquerda mostra os componentes do Catálogo Unity que foram registrados com esta tabela, versão do modelo ou função.

    Lineage tab on model page in Catalog Explorer

  3. Clique em Ver gráfico de linhagem. O gráfico de linhagem é exibido. Para obter detalhes sobre como explorar o gráfico de linhagem, consulte Capturar e explorar linhagem.

    lineage screen

  4. Para fechar o gráfico de linhagem, clique close button for lineage graph no canto superior direito.