特徴エンジニアリングとワークスペース特徴量ストアのPython API

このページでは、PythonAPI DatabricksFeature エンジニアリングと レガシDatabricks ワークスペース Feature Store の ドキュメントへのリンクと、 と のクライアント パッケージに関する情報を提供します。databricks-feature-engineeringdatabricks-feature-store

注:

バージョン 0.17.0 では、 databricks-feature-store は非推奨になりました。 このパッケージの既存のモジュールはすべて、 databricks-feature-engineering バージョン 0.2.0 以降で使用できるようになりました。 databricks-feature-engineeringへの移行については、「databricks-feature-エンジニアリングへの移行」を参照してください。

互換性マトリックス

使用するパッケージとクライアントは、次の表に示すように、特徴量テーブルが配置されている場所と、実行している Databricks Runtime 機械学習のバージョンによって異なります。

Databricks Runtime 機械学習バージョンに組み込まれているパッケージ バージョンを特定するには、 特徴エンジニアリングの互換性マトリックスを参照してください。

Databricks Runtimeのバージョン

特徴量テーブルの所在

使用するパッケージ

使用するPythonクライアント

Databricks Runtime 14.3 ML以降

Unity Catalog

databricks-feature-engineering

FeatureEngineeringClient

Databricks Runtime 14.3 ML以降

ワークスペース

databricks-feature-engineering

FeatureStoreClient

Databricks Runtime 14.2 機械学習以下

Unity Catalog

databricks-feature-engineering

FeatureEngineeringClient

Databricks Runtime 14.2 機械学習以下

ワークスペース

databricks-feature-store

FeatureStoreClient

注:

  • databricks-feature-engineering<=0.7.0mlflow>=2.18.0と互換性がありません。 MLflow 2.18.0 以降で databricks-feature-engineering を使用するには、 databricks-feature-engineering バージョン 0.8.0 以降にアップグレードしてください。

特徴量エンジニアリング Python API リファレンス

特徴量エンジニアリング Python API リファレンスを参照してください。

ワークスペース Feature Store Python API リファレンス (非推奨)

注:

  • バージョン 0.17.0 では、 databricks-feature-store は非推奨になりました。 このパッケージの既存のモジュールはすべて、 databricks-feature-engineering バージョン 0.2.0 以降で使用できるようになりました。

databricks-feature-store v0.17.0 については、最新のワークスペース機能ストア API リファレンスについては、特徴エンジニアリング Python API リファレンスの「Databricks FeatureStoreClient」を参照してください。

v0.16.3 以前の場合は、表のリンクを使用して、Feature Store Python API リファレンスをダウンロードまたは表示します。 Databricks Runtime 機械学習バージョンにプレインストールされているバージョンを確認するには、 互換性マトリックスを参照してください。

バージョン

PDFをダウンロード

オンライン API リファレンス

v0.3.5 から v0.16.3

Feature Store Python API 0.16.3 リファレンス PDF

オンライン API リファレンス

v0.3.5 以下

Feature Store Python API 0.3.5 リファレンス PDF

オンライン API リファレンスは利用できません

Python パッケージ

このセクションでは、Databricks 特徴エンジニアリングと Databricks Workspace Feature Storeを使用するために Python パッケージをインストールする方法について説明します。

特徴量エンジニアリング

注:

  • バージョン 0.2.0 の時点では、databricks-feature-engineering には、Unity Catalog と Workspace Feature Storeの両方で特徴量テーブルを操作するためのモジュールが含まれています。 バージョン 0.2.0 未満databricks-feature-engineeringUnity Catalog の 特徴量テーブルでのみ動作します。

Databricks Feature エンジニアリングAPIs 、 Pythonクライアント パッケージ databricks-feature-engineering を通じて利用できます。 クライアントはPyPIで利用可能であり、Databricks Runtime 13.3 LTS ML 以上にプリインストールされています。

どのクライアント バージョンがどのランタイム バージョンに対応しているかについては、 互換性マトリックスを参照してください。

Databricks Runtimeでクライアントをインストールするには:

%pip install databricks-feature-engineering

ローカルの Python 環境にクライアントをインストールするには:

pip install databricks-feature-engineering

ワークスペース Feature Store (非推奨)

注:

  • バージョン 0.17.0 では、 databricks-feature-store は非推奨になりました。 このパッケージの既存のモジュールはすべて、 databricks-feature-engineeringバージョン 0.2.0 以降で使用できるようになりました。

  • 詳細については、「 databricks-feature-engineering への移行 」を参照してください。

Databricks Feature Store APIs は、Python クライアント パッケージ databricks-feature-store から入手できます。 クライアントは PyPI で使用でき、Databricks Runtime for Machine Learning にプレインストールされています。 どのランタイムにどのクライアント バージョンが含まれているかのリファレンスについては、 互換性マトリックスを参照してください。

Databricks Runtimeでクライアントをインストールするには:

%pip install databricks-feature-store

ローカルの Python 環境にクライアントをインストールするには:

pip install databricks-feature-store

databricks-feature-engineeringへの移行

databricks-feature-engineering パッケージをインストールするには、pip install databricks-feature-storeの代わりに pip install databricks-feature-engineering を使用します。databricks-feature-store内のすべてのモジュールが databricks-feature-engineeringに移動されたため、コードを変更する必要はありません。from databricks.feature_store import FeatureStoreClient などの import ステートメントは、databricks-feature-engineeringをインストールした後も引き続き機能します。

Unity Catalog で特徴量テーブルを操作するには、 FeatureEngineeringClientを使用します。 ワークスペース Feature Store を使用するには、 FeatureStoreClientを使用する必要があります。

サポートされるシナリオ

機械学習用の Databricks Runtime と Databricks Runtime を含む Databricks では、次のことができます。

  • 特徴量テーブルの作成、読み取り、書き込みを行います。

  • トレーニングする 特徴量データに基づいてモデルをスコア付けします。

  • 特徴量テーブルをオンライン ストアに公開して、リアルタイムで提供します。

ローカル環境または Databricks の外部の環境から、次のことができます。

  • ローカルIDEサポートを使用してコードを開発します。

  • モックフレームワークを使用した単体テスト。

  • Databricks で実行する統合テストを記述します。

制限

クライアント ライブラリは、機械学習用の Databricks Runtime や Databricks Runtime など、Databricks でのみ実行できます。 ローカル環境または Databricks 以外の環境からの Unity Catalogでの特徴量エンジニアリングまたは Feature Store APIs の呼び出しはサポートされていません。

単体テストにクライアントを使用する

Unity Catalogでの特徴量エンジニアリングのクライアント、または Feature Storeクライアントをローカルにインストールして 単体テストの実行に役立てることができます。

たとえば、メソッドupdate_customer_features FeatureEngineeringClient.write_table (または Workspace Feature StoreFeatureStoreClient.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'
  )

統合テストにクライアントを使用する

統合テストは、Unity Catalogでの特徴量エンジニアリングクライアントまたは Databricks の Feature Store クライアントを使用して実行できます。 詳細については、「 開発者ツールとガイダンス: CI/CD を使用する」を参照してください。