特徴エンジニアリングとワークスペース Feature Store の Python API
このページでは、Databricks Feature Engineering と Databricks ワークスペース Feature Store の Python API ドキュメントへのリンクと、クライアント パッケージ databricks-feature-engineering
と databricks-feature-store
に関する情報を提供します。
Note
バージョン 0.17.0 以降、databricks-feature-store
は非推奨になりました。 このパッケージ内のすべての既存モジュールが、databricks-feature-engineering
バージョン 0.2.0 以降で使用できるようになりました。 databricks-feature-engineering
への移行の詳細については、「databricks-feature-engineering への移行」を参照してください。
互換性マトリックス
使用する必要があるパッケージとクライアントは、次の表に示すように、特徴テーブルが配置されている場所と、実行している Databricks Runtime ML のバージョンによって異なります。
お使いの Databricks Runtime ML バージョンに組み込まれているパッケージのバージョンを特定するには、「特徴エンジニアリングの互換性マトリックス」を参照してください。
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 Python API リファレンス
Feature Engineering Python API リファレンスを参照してください。
ワークスペース Feature Store Python API リファレンス (非推奨)
Note
- バージョン 0.17.0 以降、
databricks-feature-store
は非推奨になりました。 このパッケージ内のすべての既存モジュールが、databricks-feature-engineering
バージョン 0.2.0 以降で使用できるようになりました。
databricks-feature-store
v0.17.0 の最新のワークスペース Feature Store API リファレンスについては、Feature Engineering Python API リファレンスの Databricks FeatureStoreClient
を参照してください。
v0.16.3 以前の場合は、表のリンクを使用して、Feature Store Python API リファレンスをダウンロードまたは表示します。 ご使用の Databricks Runtime ML バージョン用のプレインストール バージョンを確認するには、互換性マトリックスを参照してください。
バージョン | [Download PDF](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 Feature Engineering と Databricks ワークスペース Feature Store を使用するために Python パッケージをインストールする方法について説明します。
特徴エンジニアリング
Note
- バージョン 0.2.0 以降、
databricks-feature-engineering
には、Unity Catalog とワークスペース Feature Store の両方の特徴テーブルを操作するためのモジュールが含まれています。 バージョン 0.2.0 より前のdatabricks-feature-engineering
は、Unity Catalog の特徴テーブルでのみ機能します。
Databricks Feature Engineering API は、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 (非推奨)
Note
- バージョン 0.17.0 以降、
databricks-feature-store
は非推奨になりました。 このパッケージ内のすべての既存モジュールが、databricks-feature-engineering
バージョン 0.2.0 以降で使用できるようになりました。 - 詳細については、「databricks-feature-engineering への移行」を参照してください。
Databricks Feature Store API は、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 for Machine Learning を含め、Databricks では、次のことができます:
- 特徴テーブルの作成、読み取り、書き込みを行う。
- 特徴データでモデルのトレーニングとスコア付けを行う。
- 特徴テーブルをオンライン ストアに公開してリアルタイムで提供する。
ローカル環境または Databricks の外部の環境から、次のことができます:
- ローカル IDE サポートを利用してコードを開発します。
- モック フレームワークを使用した単体テスト。
- Databricks で実行する統合テストを記述する。
制限事項
このクライアント ライブラリは、Databricks Runtime や Databricks Runtime for Machine Learning を含め、Databricks でのみ実行できます。 ローカル環境や、Databricks 以外の環境から Unity Catalog の Feature Engineering や Feature Store の API を呼び出すことはサポートされていません。
単体テストにクライアントを使用する
Unity Catalog の Feature Engineering クライアントまたは 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'
)
統合テストにクライアントを使用する
Databricks で Unity Catalog の Feature Engineering クライアントまたは Feature Store クライアントを使用して、統合テストを実行できます。 詳細については、「開発者ツールおよびガイダンス: CI/CD を使用する」を参照してください。