Поделиться через


Управление функциями и происхождение

На этой странице описаны возможности управления и происхождения функций в каталоге Unity.

Сведения о мониторинге производительности обслуживаемой модели и изменениях в данных таблицы признаков см. в разделе мониторинг Lakehouse.

Управление доступом к таблицам компонентов

Управление доступом для таблиц компонентов в каталоге Unity управляется каталогом Unity. См. привилегии каталога Unity в .

Просмотр таблицы признаков, функций и истории модели

При регистрации модели с помощью FeatureEngineeringClient.log_modelфункции, используемые в модели, автоматически отслеживаются и можно просматривать на вкладке Lineage обозревателя каталогов. Помимо таблиц признаков, определяемые пользователем функции (UDF) на языке Python, используемые для вычисления функционалов по требованию, также отслеживаются.

Отслеживание происхождения таблицы признаков, функции или модели

Таблицы и функции отслеживания происхождения данных, используемые в моделях, автоматически фиксируются при вызове log_model. См. следующий пример кода.

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
)

Просмотр происхождения таблицы признаков, модели или функции

Чтобы просмотреть происхождение таблицы признаков, модели или функции, выполните следующие действия:

  1. Перейдите на страницу таблицы, версии модели или функции в обозревателе каталогов.

  2. Перейдите на вкладку Lineage. На левой боковой панели показаны компоненты каталога Unity Catalog, которые были зарегистрированы для этой таблицы, версии модели или функции.

    вкладка происхождения на странице модели в Проводнике по каталогам

  3. Щелкните См. график происхождения. Появится граф происхождения. Дополнительные сведения о получении и изучении графа происхождения см. в разделе Capture and explore lineage.

    экран родословной

  4. Чтобы закрыть график происхождения, нажмите кнопку закрытия для графа происхождения в правом верхнем углу.