Ver linhagem do repositório de recursos

Ao logs um modelo usando FeatureEngineeringClient.log_model, os recursos usados no modelo são rastreados automaticamente e podem ser view na Linhagem tab do Catalog Explorer. Além das tabelas de recursos, as UDFs do Python usadas para compute recursos sob demanda também são rastreadas.

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

A linhagem de informações de acompanhamento de tabelas e funções de recursos usadas nos modelos é capturada automaticamente quando você chama log_model. 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
)

Visualize a linhagem de uma tabela, modelo ou função de recurso

Para view a linhagem de uma tabela, modelo ou função de recurso, siga estes passos:

  1. Navegue até a tabela, versão do modelo ou página de função no Catalog Explorer.

  2. Selecione a Linhagem tab. A barra lateral esquerda mostra os componentes Unity Catalog que foram logs com esta tabela, versão de modelo ou função.

    Linhagem tab na página do modelo no Catalog Explorer
  3. Clique em Ver gráfico de linhagem. O gráfico de linhagem aparece. Para obter detalhes sobre como explorar o gráfico de linhagem, consulte Capturar e explorar linhagem.

    tela de linhagem
  4. Para fechar o gráfico de linhagem, clique em botão fechar para gráfico de linhagem no canto superior direito.