このページでは、Unity カタログ クライアントの Databricks Feature Engineering と Databricks Workspace Feature Store クライアントのリリースの一覧を示します。 どちらのクライアントも PyPI ( databricks-feature-engineering と databricks-feature-store) で利用できます。
ライブラリは次のような目的で使用されます。
- 特徴テーブルの作成、読み取り、書き込みを行う。
- 特徴量データでモデルをトレーニングします。
- 特徴テーブルをオンライン ストアに公開してリアルタイムで提供する。
使用方法に関するドキュメントについては、 Databricks Feature Store を参照してください。 Python API のドキュメントについては、「Feature Engineering Python API」を参照してください。
Unity カタログのフィーチャー エンジニアリング クライアントは、Unity カタログの機能と機能テーブルに対して機能します。 ワークスペース Feature Store クライアントは、ワークスペース Feature Store の特徴と特徴テーブルに対して機能します。 いずれのクライアントも Databricks Runtime for Machine Learning にプレインストールされています。 これらのクライアントは、PyPI (databricks-feature-engineering) から pip install databricks-feature-engineering をインストールした後、Databricks Runtime でも実行できます。 単体テストの場合にのみ、両方のクライアントはローカルまたは CI/CD 環境で使用できます。
Databricks Runtime および Databricks Runtime ML バージョンとのクライアント バージョンの互換性を示す表については、 フィーチャー エンジニアリングの互換性マトリックスを参照してください。 以前のバージョンの Databricks Workspace Feature Store クライアントは、 Databricks-feature-store として PyPI で使用できます。
databricks-feature-engineering 0.18.1
このリリースには、フィーチャービューの以下の改善が含まれています:
- Lakebase でのオンライン提供において、64 文字を超える機能名に対応するようになりました。
- RollingWindow では、オンライン専用のテーブルトリガーに基づくマテリアライゼーションが適用されている差分ソースにおいて、ライフタイムが「Last」の集計に対して window_duration=None を指定できるようになりました。
- FeatureViewSource ベースのフィーチャーは、複数のソーステーブルにまたがる依存関係を含め、
compute_features()を使用してプレビューできるようになりました。 - SawtoothWindow では、create_training_set() と compute_features() において、ライフタイム集計ウィンドウ (window_duration=None) がサポートされるようになりました。
- バグの修正と機能強化。
databricks-feature-engineering 0.18.0
-
フィーチャービューソース:
- 新しい
FeatureViewSourceは、他の特徴から構成された特徴を定義し、それらの値に対して行ごとにCustomUDFを適用します。 訓練およびサービスライフサイクル全体でサポートを受けていますが、compute_features()を除きます。
- 新しい
-
CustomUDFの特徴:
-
create_feature()Unity Catalog関数シグネチャに対してCustomUDFinput_bindingsを検証し、バウンドされたカラムタイプを関数パラメータタイプと照らし合わせ、機能作成時に不一致を報告します。これはトレーニング時やサービス時ではありません。
-
-
ストリーミング機能:
-
create_stream()デコード後に一致するレコードのみを保持するSQL述語record_type_filterと、取り込みから列を落とすexcluded_columnsを追加します。update_stream()もexcluded_columnsを受け入れます。
-
-
マテリアライゼーション:
-
materialize_features()コストの追跡と帰属のためにtagsとbudget_policy_idを受け付けています。 -
CronScheduleフィーチャーの集約ウィンドウやタイミングから生成される派生スケジュールモード、さらに手動のCRON式をサポートしています。
-
-
ウィンドウ化された start_time フィーチャのゲーティング:
- ウィンドウ機能は常に
start_timeを強制します。 オフラインの学習セットがオンラインで提供される値と一致するように、ウィンドウの終了時点がフィーチャのstart_timeより前になるトレーニング行は除外されます。 ウィンドウ機能でカットオフを制御するためにstart_timeを設定してください。
- ウィンドウ機能は常に
-
その他の変更点:
- 集約機能は作成時に
DATE時系列列を拒否します。 代わりにTIMESTAMP列を使いましょう。 -
ColumnSelection機能では、まだ確定していないソース行を除外して、create_training_set()とcompute_features()にソースの確定遅延を適用します。 - 機能のUDF入出力でDatabricks Runtime 18の文字列型のサポートが追加されました。
-
start_time、集約遅延、ソース決済遅延などの機能タイミングフィールドは、クライアントの読み書きを超えて持続します。 - バグの修正と機能強化。
- 集約機能は作成時に
databricks-feature-engineering 0.17.1
- バグの修正と機能強化。
databricks-feature-engineering 0.17.0
-
SawtoothWindowの集約(プレビュー):
- 新しい
SawtoothWindowタイムウィンドウクラスは、長い集計ウィンドウ(例えば30日、60日、90日)を常に新鮮に保ちます。ウィンドウの後縁は固定された日のステップで進み、先端は最新のストリーミングイベントと常に更新され、すべてのイベントで完全な再計算を回避します。Sum、Avg、Count、Min、Maxアグリゲーションに対応しています。window_duration2日以上でなければなりません。短いウィンドウにはRollingWindowを使いましょう。
- 新しい
-
LastN集約(プレビュー):- 新しい
LastN集約は、特徴のタイムシリーズ列順に並べられた、ウィンドウ内の最新のN値を配列として返します。SlidingWindowおよびRollingWindow時間帯に対応しています。
- 新しい
-
生涯集約ウィンドウ:
-
SlidingWindow現在は全履歴にわたるライフタイム(無限)ウィンドウを集約する機能をサポートしています。 ライフタイムウィンドウはバッチ機能のみに利用可能で、window_durationをNoneに設定してcreate_training_set()とcompute_features()で定義してください。
-
-
CustomUDFの機能(プレビュー):
-
create_feature()の新しいCustomUDF関数タイプは、ソースカラムごとに行ごとに登録されたUnity Catalog関数を適用します。input_bindings各UC関数パラメータを、それを埋めるソースカラムにマッピングします。CustomUDFRequestSource(リクエスト時)機能のみに直接動作し、他の機能タイプには適用できません。
-
-
ストリーミングソース変換(プレビュー):
-
StreamSource現在は、ストリームのスキーマ変換後に適用されるtransformation_sqlSQLSELECT式を受け入れ、特徴計算前にレコードを変換します。 設定したら、変換された出力スキーマをdataframe_schemaで提供します。
-
-
ストリーミングソースのスキーマレジストリ(プレビュー):
-
create_stream()外部スキーマレジストリ(例:Confluent)からストリーミングキーやペイロードスキーマをUnity Catalog Connection経由で解決でき、SchemaRegistryConfigを用いてスキーマをインラインで提供するのではなく対応できるようになりました。 AvroおよびProtobufフォーマットもサポートしています。
-
-
カスタムサービング依存関係(プレビュー):
- 今ではフィーチャーサービング用の追加のPIP依存関係を宣言できます。
create_feature_spec()とlog_model()は、特徴量UDFで必要だがデフォルトでは利用できないライブラリをモデルサービング環境にインストールするための、pip パッケージのリスト(または Unity Catalog Volumeextra_pip_requirementsパス)である.whlを受け取ります。 機能仕様で宣言された依存関係は、モデルの提供時にもそのまま保持されます。
- 今ではフィーチャーサービング用の追加のPIP依存関係を宣言できます。
-
その他の機能強化:
- バグの修正と機能強化。
databricks-feature-engineering 0.16.1
-
create_training_setとscore_batchオフラインマテリアライズド集計機能が使用可能な場合に再利用され、トレーニング セットの作成とバッチ推論が高速化されるようになりました。 「 フィーチャ ビューを具体化する」を参照してください。 -
RequestSource機能では、エンティティ列と時系列列は不要になりました。 - 正しくない
FirstとLastの結果がcreate_training_setで修正されました。 これらの集計には、既定で null が含まれるようになりました。null 入力列を除外するfilter_conditionを追加します。 - ソース行に null が含まれている場合にゼロまたは null を返す
compute_featuresを修正しました。 - バグの修正と機能強化。
databricks-feature-engineering 0.16.0
-
フィーチャー ビュー パブリック プレビュー:
- 機能ビューがパブリック プレビューになりました。
is_beta_feature_view()のlist_beta_feature_views()ユーティリティとFeatureEngineeringClientユーティリティは、ベータ API で登録された機能を識別し、パブリック プレビュー表現への移行が必要です。 -
Feature.clone()メソッドは、ベータ機能ビューをパブリック プレビューに移行するのに役立つ。 -
create_pipelineはフィーチャー ビューでは非推奨です。代わりに具体化された機能 API を使用してください。
- 機能ビューがパブリック プレビューになりました。
-
ストリーミング機能:
-
StreamSourceは、Kafka または Delta ソースによってサポートされるストリーミング機能を定義するためのcreate_feature()でサポートされるようになりました。 -
create_training_setでは、StreamSourceで定義された機能に関するトレーニングがサポートされるようになりました。 - ストリーミング機能ソースを管理するための
create_streamの新しいget_stream、update_stream、delete_stream、list_streams、およびFeatureEngineeringClientメソッド。 -
StreamingModematerialize_featuresのトリガーは、マイクロバッチ マテリアライズを選択します。
-
-
その他の機能強化:
-
list_features()の新しいFeatureEngineeringClientAPI では、カタログまたはスキーマの機能が一覧表示されます。 - 新しい
grant_feature_serving_access()ユーティリティは、マテリアライズド機能のオンライン サービスに必要なアクセス許可を付与し、適用前にアクセスをプレビューするdry_runモードを使用します。 -
DeltaTableSource.from_sql()SparkSessionを直接受け入れるようになりました。 -
DeltaTableSource.dataframe_schemaは、非推奨のschema_jsonパラメーターを置き換えます。 -
RollingWindowは、削除されたContinuousWindowエイリアスを置き換えます。 -
offsetから非推奨のRollingWindowパラメーターを削除しました。代わりにdelayを使用してください。 - 既定のカタログを含む 2 部構成の Unity カタログ名のサポートが削除されました。
- バグの修正と機能強化。
-
databricks-feature-engineering 0.15.0
-
RequestSource (ベータ):
- 新しい
RequestSourceクラスを使用すると、モデルに直接渡されたデータから要求時に計算される特徴を、特徴テーブルの参照を必要とせずに使用できます。 -
create_feature()、create_training_set()、score_batch()、およびcompute_features()は、いずれもRequestSourceを基盤とする機能をサポートしています。 -
log_modelではRequestSource機能をモデル シグネチャーへ自動的にワイヤします。
- 新しい
-
ColumnSelection (ベータ):
- 新しい
ColumnSelectionクラスを使用すると、フィーチャ ソースから特定の出力列を選択し、より詳細な機能定義を有効にできます。 -
create_feature()、create_training_set()、compute_features()、およびlog_modelでサポートされます。
- 新しい
-
その他の機能強化:
-
materialize_featuresの新しいTableTriggerトリガー タイプでは、Delta テーブルの更新でのマテリアライゼーションをトリガーします。 -
score_batchは Databricks Runtime Serverless ランタイムで実行できるようになりました。 -
DeltaTableSource.from_sql()では、GROUP BYやORDER BYなどのサポートされていない SQL 句が拒否されるようになりました。 -
RequestSource.from_dataframe()は、既存の DataFrame から要求スキーマを推論します。 -
databricks-feature-engineeringから Flask の依存関係を削除しました。 - バグの修正と機能強化。
-
databricks-feature-engineering 0.14.0
-
バッチ宣言型機能 (ベータ):
- 集約と時間枠を含む Unity カタログ関数として宣言型機能定義を格納する宣言型機能 API。
- 具体化された機能 API は、構成可能な cron スケジュールを使用して、オンライン ストアへの機能の自動バッチマテリアライズをスケジュールします。
- 具体化された機能は、Unity カタログの登録済みモデルのオンライン サービスで使用できます。
-
SlidingWindowクラスとTumblingWindowクラスを使用したスライディングウィンドウおよびタンブリングウィンドウのサポートにより、create_training_set()でポイントインタイムの特性を正確に計算できます。 -
filter_conditionパラメーターを使用すると、特徴を計算するときにソース データをフィルター処理できます。
-
その他の機能強化:
- 新しい
list_online_stores()API には、カタログまたはスキーマ内のすべてのオンライン ストアが一覧表示されます。 - オンライン ストアの作成時または更新時の課金追跡の
usage_policy_idのサポート。 - オンライン ストアが削除または使用できない場合のエラー メッセージが改善されました。
- バグの修正とパフォーマンスの向上。
- 新しい
databricks-feature-engineering 0.13.0
- Databricks で管理されるオンライン機能ストアを管理するための API。
-
publish_table()では、source_table_name、online_table_name、およびpublish_modeパラメーターを受け取って、より明確なテーブルを指定できるようになりました。 - 読み取りスケーラビリティを向上させるために、オンライン ストアを作成または更新するときの
read_replica_countのサポート。 - バグの修正と機能強化。
databricks-feature-engineering 0.12.1
- 機能参照の既定値をサポートします。
- バグの修正と機能強化。
データブリックス-フィーチャーエンジニアリング 0.11.0
-
mlflowバージョン 3.0 のサポートを追加します。 - バグの修正と機能強化。
databricks-feature-engineering 0.10.2
-
mlflowバージョン 2.20.0 以降のサポートを追加します。 -
numpyバージョン 2.x のサポートを追加します。 - バグの修正と機能強化。
databricks-feature-engineering 0.9.0
-
prebuilt_env呼び出しでのscore_batchの使用をサポートします。 - ポイントインタイム機能を Photon と結合するパフォーマンスの向上。
- バグの修正と機能強化。
databricks-feature-engineering 0.8.0
-
params呼び出しでのscore_batchの使用をサポートします。これにより、推論のために追加のパラメーターをモデルに渡すことができます。 - バグの修正と機能強化。
databricks-feature-engineering 0.7.0
- Unity カタログの特定のビューを、オフライン モデルのトレーニングと評価の機能テーブルとして使用できるようになりました。 Unity カタログのフィーチャー テーブルからの読み取りを参照してください。
- トレーニング セットは、機能参照または機能スペックを使用して作成できるようになりました。 Python SDK リファレンスを参照してください。
databricks-feature-engineering 0.6.0
- Tempo での既存のサポートに加えて、ネイティブ Spark でのポイントインタイム結合の実行がサポートされるようになりました。 アイデアを提案してくれた Semyon Sinchenko に感謝します。
-
StructTypeが PySpark データ型としてサポートされるようになりました。StructTypeはオンライン提供ではサポートされていません。 -
write_tableでは、 液体クラスタリング が有効になっているテーブルへの書き込みがサポートされるようになりました。 -
timeseries_columnsのcreate_tableパラメーターの名前がtimeseries_columnに変更されました。 既存のワークフローでは、引き続きtimeseries_columnsパラメーターを使用できます。 -
score_batchではenv_managerパラメーターがサポートされるようになりました。 詳細については、 MLflow のドキュメント を参照してください。
databricks-feature-engineering 0.5.0 (データブリックス・フィーチャー・エンジニアリングバージョン0.5.0)
-
update_feature_specの新しい APIdatabricks-feature-engineering。これにより、ユーザーは Unity カタログの FeatureSpec の所有者を更新できます。
databricks-feature-engineering 0.4.0
- 小さなバグ修正と機能強化。
databricks-feature-engineering 0.3.0
-
log_modelでは、新しい databricks-feature-lookup PyPI パッケージが使用されるようになりました。これには、オンライン モデルサービスのパフォーマンス向上が含まれています。
databricks-feature-store 0.17.0
-
databricks-feature-storeは非推奨とされます。 このパッケージ内のすべての既存モジュールは、databricks-feature-engineeringのバージョン 0.2.0 以上で使用できます。 詳細については、 Python API を参照してください。
databricks-feature-engineering 0.2.0
-
databricks-feature-engineeringにはdatabricks-feature-storeからのすべてのモジュールが含まれるようになりました。 詳細については、 Python API を参照してください。
databricks-feature-store 0.16.3
- 機能テーブルで AutoML を使用するときのタイムアウトバグを修正しました。
databricks-feature-engineering 0.1.3
- UpgradeClient の小さな機能強化。
databricks-feature-store 0.16.2
- これで Feature Serving および Function Serving エンドポイントを作成できるようになりました。 詳細については、「 機能と関数の提供」を参照してください。
databricks-feature-store 0.16.1
- 小さなバグ修正と機能強化。
databricks-feature-engineering 0.1.2 および databricks-feature-store 0.16.0
- 小さなバグ修正と機能強化。
- 特定のワークスペースのセットアップと共にログに記録される不適切なジョブ系列 URL を修正しました。
databricks-feature-engineering 0.1.1
- 小さなバグ修正と機能強化。
databricks-feature-engineering 0.1.0
- Unity Catalog Python クライアントから PyPI への特徴エンジニアリングの一般提供リリース
databricks-feature-store 0.15.1
- 小さなバグ修正と機能強化。
databricks-feature-store 0.15.0
- モデルをログに記録する際に、入力例を自動的に推論してログに記録することができるようになりました。 これを行うには、
infer_model_exampleを呼び出すときにTrueをlog_modelに設定します。 その例は、training_setパラメータ内で指定されたトレーニング データに基づきます。
databricks-feature-store 0.14.2
- MariaDB Connector/J >=2.7.5 から Aurora MySQL に発行する際のバグを修正しました。
databricks-feature-store 0.14.1
- 小さなバグ修正と機能強化。
databricks-feature-store 0.14.0
0.14.0 以降では、 primary_keys 引数にタイムスタンプ キー列を指定する必要があります。 タイムスタンプ キーは、特徴テーブルの各行を一意に識別する "主キー" の一部です。 他の主キー列と同様に、タイムスタンプ キー列に NULL 値を含めることはできません。
次の例では、DataFrame user_features_df には、 user_id、 ts、 purchases_30d、 is_free_trial_activeの各列が含まれています。
0.14.0 以降
fs = FeatureStoreClient()
fs.create_table(
name="ads_team.user_features",
primary_keys=["user_id", "ts"],
timestamp_keys="ts",
features_df=user_features_df,
)
0.13.1 以前
fs = FeatureStoreClient()
fs.create_table(
name="ads_team.user_features",
primary_keys="user_id",
timestamp_keys="ts",
features_df=user_features_df,
)
databricks-feature-store 0.13.1
- 小さなバグ修正と機能強化。
databricks-feature-store 0.13.0
- 最低限必要な
mlflow-skinnyバージョンは、現在 2.4.0 です。 - 指定された DataFrame に必要なすべての参照キーが含まれていない場合、トレーニング セットの作成は失敗します。
- Unity カタログで機能テーブルを使用するモデルをログに記録すると、MLflow 署名がモデルと共に自動的にログに記録されます。
databricks-feature-store 0.12.0
-
drop_online_tableAPI を使用してオンライン ストアを削除できるようになりました。
databricks-feature-store 0.11.0
- Unity カタログ対応ワークスペースでは、ワークスペースと Unity カタログ機能テーブルの両方を Cosmos DB オンライン ストアに発行できるようになりました。 これには、Databricks Runtime 13.0 ML 以上が必要です。
databricks-feature-store 0.10.0
- 小さなバグ修正と機能強化。
databricks-feature-store 0.9.0
- 小さなバグ修正と機能強化。
databricks-feature-store 0.8.0
- 小さなバグ修正と機能強化。
databricks-feature-store 0.7.1
-
flaskでモデルをスコアリングする際に不足している依存関係の問題を修正するために、score_batchを依存関係として追加します。
databricks-feature-store 0.7.0
- 小さなバグ修正と機能強化。
databricks-feature-store 0.6.1
- Databricks Feature Store クライアントの PyPI への初期公開リリース。