特徴エンジニアリングとワークスペース特徴量ストアの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 機械学習のバージョンによって異なります。
Databricks Runtime 機械学習バージョンに組み込まれているパッケージ バージョンを特定するには、 特徴エンジニアリングの互換性マトリックスを参照してください。
Databricks Runtimeのバージョン |
特徴量テーブルの所在 |
使用するパッケージ |
使用するPythonクライアント |
---|---|---|---|
Databricks Runtime 14.3 ML以降 |
Unity Catalog |
|
|
Databricks Runtime 14.3 ML以降 |
ワークスペース |
|
|
Databricks Runtime 14.2 機械学習以下 |
Unity Catalog |
|
|
Databricks Runtime 14.2 機械学習以下 |
ワークスペース |
|
|
注:
databricks-feature-engineering<=0.7.0
はmlflow>=2.18.0
と互換性がありません。 MLflow 2.18.0 以降でdatabricks-feature-engineering
を使用するには、databricks-feature-engineering
バージョン 0.8.0 以降にアップグレードしてください。
リリースノート
Databricks Feature Engineering についてはリリースノート を、レガシー ワークスペース Feature Store を参照してください。
特徴量エンジニアリング 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 |
||
v0.3.5 以下 |
オンライン API リファレンスは利用できません |
Python パッケージ
このセクションでは、Databricks 特徴エンジニアリングと Databricks Workspace Feature Storeを使用するために Python パッケージをインストールする方法について説明します。
特徴量エンジニアリング
注:
バージョン 0.2.0 の時点では、
databricks-feature-engineering
には、Unity Catalog と Workspace Feature Storeの両方で特徴量テーブルを操作するためのモジュールが含まれています。 バージョン 0.2.0 未満databricks-feature-engineering
Unity 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 を使用する」を参照してください。