Partilhar via


Governança e linhagem de funcionalidades

Esta página descreve as capacidades de governança e linhagem da engenharia de funcionalidades no Unity Catalog.

Para obter informações sobre como monitorizar o desempenho de um modelo servido e alterações nos dados da tabela de características, consulte Lakehouse Monitoring.

Controlar o acesso a tabelas de recursos

O controle de acesso para tabelas de recursos no Unity Catalog é gerenciado pelo Unity Catalog. Consulte privilégios do Catálogo Unity.

Exibir tabela de recursos, função e linhagem de modelo

Quando registas um modelo usando , as características utilizadas no modelo são automaticamente rastreadas e podem ser visualizadas na aba Linhagem do Catalog Explorer. Além das tabelas de características, também são rastreadas as UDFs Python usadas para calcular características sob demanda.

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

As tabelas de recursos e funções usadas para o rastreamento de informações sobre a linhagem nos modelos são capturadas automaticamente quando se 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
)

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 o separador Linhagem . A barra lateral esquerda mostra os componentes do Unity Catalog que foram registados com esta tabela, versão de modelo ou função.

    guia Linhagem na página do modelo no Catalog Explorer

  3. Clique Ver gráfico de linhagem. O gráfico de linhagem é exibido. Para obter detalhes sobre como explorar o gráfico de linhagem, consulte Capture and explore lineage.

    ecrã de linhagem

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