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


API Python для инжиниринга характеристик и хранилища функций рабочей области

На этой странице приведены ссылки на документацию по API Python для Databricks Feature Engineering и устаревшего Хранилища компонентов рабочей области Databricks, а также сведения о клиентских пакетах databricks-feature-engineering и databricks-feature-store.

Примечание.

По состоянию на версию 0.17.0 databricks-feature-store объявлен устаревшим. Все существующие модули из этого пакета теперь доступны в databricks-feature-engineering версии 0.2.0 и более поздних версий. Для получения информации о миграции в databricks-feature-engineering см. Миграция на databricks-feature-engineering.

Матрица совместимости

Пакет и клиент, которые следует использовать, зависят от того, где находятся таблицы признаков и какая версия Databricks Runtime ML используется, как показано в следующей таблице.

Чтобы определить версию пакета, встроенную в вашу версию Databricks Runtime ML, обратитесь к матрице совместимости компонентов Feature Engineering.

Версия Databricks Runtime Для таблиц компонентов в Использование пакета Использование клиента Python
Databricks Runtime 14.3 ML и выше Каталог Unity databricks-feature-engineering FeatureEngineeringClient
Databricks Runtime 14.3 ML и выше Рабочая область databricks-feature-engineering FeatureStoreClient
Databricks Runtime 14.2 ML и ниже Каталог Unity databricks-feature-engineering FeatureEngineeringClient
Databricks Runtime 14.2 ML и ниже Рабочая область databricks-feature-store FeatureStoreClient

Примечание.

  • databricks-feature-engineering<=0.7.0 несовместим с mlflow>=2.18.0. Чтобы использовать databricks-feature-engineering с MLflow 2.18.0 и более поздней, обновите до databricks-feature-engineering версии 0.8.0 или более поздней.

Заметки о выпуске

Ознакомьтесь с заметками о выпуске Databricks и устаревшими заметками о выпуске Хранилища компонентов рабочей области.

Справочник по API Python для разработки компонентов

См. справочную документацию API Python для инженерии признаков.

Справочник по API Python для функционального хранилища в рамках рабочей области (устарело)

Примечание.

  • По состоянию на версию 0.17.0, databricks-feature-store был объявлен устаревшим. Все существующие модули из этого пакета теперь доступны в databricks-feature-engineering версии 0.2.0 и более поздних версий.

Сведения о версии databricks-feature-store v0.17.0 см. в справочнике Databricks FeatureStoreClient в справочнике по Python API для построения признаков, чтобы получить информацию о новейшей версии API хранилища компонентов рабочей области.

Для версии 0.16.3 и ниже используйте ссылки в таблице, чтобы скачать или отобразить ссылку на API Python в Магазине компонентов. Чтобы определить предустановленную версию для вашей версии Databricks Runtime ML, см. матрицу совместимости.

Версия Скачать PDF Справочник по ОНЛАЙН-API
v0.3.5 до версии 0.16.3 Справочник по API Python 0.16.3 в Магазине компонентов Справочник по ОНЛАЙН-API
Версия 0.3.5 и более ранняя Справочник по Python API для Feature Store версии 0.3.5 в формате PDF Справочник по ВЕБ-API недоступен

Пакет Python

В этом разделе описывается, как установить пакеты Python для использования Databricks Feature Engineering и Databricks Workspace Store.

Инженерия признаков

Примечание.

  • По состоянию на версию 0.2.0 databricks-feature-engineering содержит модули для работы с таблицами компонентов в каталоге Unity и в хранилище компонентов рабочей области. databricks-feature-engineering ниже версии 0.2.0 работает только с таблицами компонентов в каталоге Unity.

API проектирования компонентов Databricks доступны через клиентский пакет databricks-feature-engineeringPython. Клиент доступен в PyPI и предварительно установлен в Databricks Runtime 13.3 LTS ML и выше.

Справочные сведения о том, какая версия клиента соответствует версии среды выполнения, см. в матрице совместимости.

Чтобы установить клиент в Databricks Runtime:

%pip install databricks-feature-engineering

Чтобы установить клиент в локальной среде Python:

pip install databricks-feature-engineering

Хранилище компонентов рабочей области (не рекомендуется)

Примечание.

  • Начиная с версии 0.17.0, databricks-feature-store устарел. Все существующие модули из этого пакета теперь доступны в databricks-feature-engineeringверсии 0.2.0 и более поздних версиях.
  • Дополнительные сведения см. в статье "Миграция на databricks-feature-engineering ".

API Хранилища компонентов Databricks доступны через клиентский пакет databricks-feature-storePython. Клиент доступен в PyPI и предварительно установлен в Databricks Runtime для машинного обучения. Справочные сведения о том, какая версия среды выполнения включает в себя версию клиента, см. в матрице совместимости.

Чтобы установить клиент в Databricks Runtime:

%pip install databricks-feature-store

Чтобы установить клиент в локальной среде Python:

pip install databricks-feature-store

Миграция в databricks-feature-engineering

Чтобы установить пакет databricks-feature-engineering, используйте pip install databricks-feature-engineering вместо pip install databricks-feature-store. Все модули в databricks-feature-store были перемещены в databricks-feature-engineering, так что вам не нужно изменять код. Операторы импорта, такие как from databricks.feature_store import FeatureStoreClient, продолжат работать после установки databricks-feature-engineering.

Чтобы работать с таблицами компонентов в каталоге Unity, используйте FeatureEngineeringClient. Чтобы использовать хранилище компонентов рабочей области, необходимо использовать FeatureStoreClient.

Поддерживаемые сценарии

В Databricks, включая Databricks Runtime и Databricks Runtime для машинного обучения, доступны следующие действия:

  • Создавайте, читайте и записывайте таблицы признаков.
  • обучение и оценка моделей на основе данных признаков;
  • Размещайте функциональные таблицы в интернет-магазинах для обслуживания в режиме реального времени.

Из локальной среды или среды, внешней для Databricks, можно выполнять следующие действия:

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

Ограничения

Клиентская библиотека может выполняться только в Databricks, включая Databricks Runtime и Databricks Runtime для машинного обучения. Он не поддерживает вызов инженерии компонентов в каталоге Unity или API Магазина компонентов из локальной среды или из среды, отличной от Databricks.

Использование клиентов для модульного тестирования

Вы можете установить инженерию компонентов в клиенте каталога Unity или клиенте Хранилища компонентов локально, чтобы помочь в выполнении модульных тестов.

Например, чтобы проверить правильность вызова update_customer_features метода FeatureEngineeringClient.write_table (или для хранилища FeatureStoreClient.write_tableкомпонентов рабочей области), можно написать следующее:

from unittest.mock import MagicMock, patch

from my_feature_update_module import update_customer_features
from databricks.feature_engineering import FeatureEngineeringClient

@patch.object(FeatureEngineeringClient, "write_table")
@patch("my_feature_update_module.compute_customer_features")
def test_something(compute_customer_features, mock_write_table):
  customer_features_df = MagicMock()
  compute_customer_features.return_value = customer_features_df

  update_customer_features()  # Function being tested

  mock_write_table.assert_called_once_with(
    name='ml.recommender_system.customer_features',
    df=customer_features_df,
    mode='merge'
  )

Использование клиентов для тестирования интеграции

Вы можете запускать интеграционные тесты с клиентом Feature Engineering в Unity Catalog или клиентом Feature Store в Databricks. Дополнительные сведения см. в статье Средства для разработчиков и руководство: использование CI/CD.