Freigeben über


Featuregovernance und -herkunft

Auf dieser Seite werden die Governance- und Lineage-Funktionen des Feature Engineerings im Unity-Katalog beschrieben.

Informationen zur Überwachung der Leistung eines bereitgestellten Modells und Änderungen an den Merkmaltabellendaten finden Sie unter Lakehouse Monitoring.

Steuern des Zugriffs auf Featuretabellen

Die Zugriffssteuerung für Featuretabellen im Unity-Katalog wird vom Unity-Katalog verwaltet. Weitere Informationen finden Sie unter Unity Catalog-Berechtigungen.

Anzeigen von Featuretabellen, Funktionen und Modellherkunft

Wenn Sie ein Modell mit FeatureEngineeringClient.log_modelprotokollieren, werden die im Modell verwendeten Features automatisch nachverfolgt und können im Katalog-Explorer auf der Registerkarte Lineage angezeigt werden. Zusätzlich zu Featuretabellen werden Python-UDFs, die zum Berechnen von On-Demand-Features verwendet werden, ebenfalls nachverfolgt.

So erfassen Sie die Lineage einer Featuretabelle, -Funktion oder eines Modells

Datenherkunftsinformationen zur Nachverfolgung von Featuretabellen und in Modellen verwendeten Funkionen werden automatisch erfasst, wenn Sie log_model aufrufen. Sehen Sie sich den folgenden Beispielcode an.

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
)

Abstammung einer Featuretabelle, eines Modells oder einer Funktion anzeigen

Führen Sie die folgenden Schritte aus, um die Linien einer Featuretabelle, eines Modells oder einer Funktion anzuzeigen:

  1. Navigieren Sie im Katalog-Explorer zur Tabelle, Modellversion oder Funktionsseite.

  2. Wählen Sie die Registerkarte Linie aus. Die linke Randleiste zeigt Unity-Katalogkomponenten an, die mit dieser Tabelle, Modellversion oder Funktion protokolliert wurden.

    Registerkarte „Datenherkunft“ auf der Modellseite im Catalog-Explorer

  3. Klicken Sie auf Siehe Liniendiagramm. Das Liniendiagramm wird angezeigt. Ausführliche Informationen zum Untersuchen des Liniendiagramms finden Sie unter Erfassen und Erkunden von Linien.

    Anzeige der Datenherkunft

  4. Klicken Sie zum Schließen des Abstammungsgraphen auf die Schließen-Schaltfläche für Abstammungsgraphen in der oberen rechten Ecke.