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

このページでは、Databricks Feature Engineering と Databricks ワークスペース Feature Store の Python API ドキュメントへのリンクと、クライアント パッケージ databricks-feature-engineeringdatabricks-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 を使用する」を参照してください。