メインコンテンツまでスキップ

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

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

注記

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

互換性マトリックス

使用するパッケージとクライアントは、次の表に示すように、特徴量テーブルがどこにあるか、実行している Databricks Runtime ML バージョンによって異なります。

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

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 ML 以下

Unity Catalog

databricks-feature-engineering

FeatureEngineeringClient

Databricks Runtime 14.2 ML 以下

ワークスペース

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 以降にアップグレードしてください。

リリースノート

Databricks Feature Engineering についてはリリースノートを、レガシー ワークスペース Feature Store を参照してください。

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

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

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

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

databricks-feature-storev0.17.0DatabricksFeatureStoreClient については、Feature エンジニアリング リファレンスPythonAPI の に関する最新のワークスペース Feature StoreAPI リファレンスを参照してください。

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

バージョン

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パッケージ

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

特徴エンジニアリング

注記
  • バージョン0.2.0以降、databricks-feature-engineeringには、 Unity Catalog とワークスペースの両方のFeature Storeに特徴量テーブルを操作するためのモジュールが含まれています。 databricks-feature-engineering バージョン 0.2.0 未満 Unity Catalogの特徴量テーブルでのみ機能します。

Databricks Feature エンジニアリング APIsは、Python クライアント パッケージ databricks-feature-engineeringを通じて入手できます。このクライアントは PyPI で使用でき、Databricks Runtime 13.3 LTS ML 以降にプレインストールされています。

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

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

Python
%pip install databricks-feature-engineering

クライアントをローカルの Python 環境にインストールするには、次のようにします。

Python
pip install databricks-feature-engineering

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

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

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

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

Python
%pip install databricks-feature-store

クライアントをローカルの Python 環境にインストールするには、次のようにします。

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 などのインポート ステートメントは、databricks-feature-engineeringをインストールした後も引き続き機能します。

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

サポートされているシナリオ

Databricks Runtime や Databricks Runtime for Machine Learning などの 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 (またはワークスペース Feature Store の場合、 FeatureStoreClient.write_table)、次のように書くことができます。

Python
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での特徴量エンジニアリング クライアントまたは Feature Store クライアントを使用して実行できます Databricks。 詳細については、「 開発者ツールとガイダンス: CI/CD の使用」を参照してください。