特徴エンジニアリングとワークスペースの 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 Runtime 14.3 ML以降 | ワークスペース |
|
|
Databricks Runtime 14.2 ML 以下 | Unity Catalog |
|
|
Databricks Runtime 14.2 ML 以下 | ワークスペース |
|
|
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 リファレンス
Feature エンジニアリング Python API リファレンスを参照してください。
ワークスペース Feature Store Python API リファレンス (非推奨)
- バージョン 0.17.0 では、
databricks-feature-store
は非推奨になりました。 このパッケージの既存のモジュールはすべて、databricks-feature-engineering
バージョン 0.2.0 以降で利用できるようになりました。
databricks-feature-store
v0.17.0DatabricksFeatureStoreClient
については、Feature エンジニアリング リファレンスPythonAPI の に関する最新のワークスペース Feature StoreAPI リファレンスを参照してください。
v0.16.3 以前の場合は、表のリンクを使用して、Feature Store Python API リファレンスをダウンロードまたは表示してください。 Databricks Runtime ML バージョンのプレインストールされているバージョンを確認するには、 互換性マトリックスを参照してください。
バージョン | PDFのダウンロード | オンラインAPIリファレンス |
---|---|---|
v0.3.5 から v0.16.3 | ||
v0.3.5 およびそれ以前 | オンライン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 にクライアントをインストールするには:
%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-エンジニアリングへの移行 」を参照してください。
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
などのインポート ステートメントは、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
)、次のように書くことができます。
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 の使用」を参照してください。