功能工程和工作區功能存放區 Python API
此頁面提供 Databricks 功能工程和 Databricks 舊版工作區功能存放庫的 Python API 文件連結,以及有關用戶端套件 databricks-feature-engineering
和 databricks-feature-store
的相關資訊。
注意
自 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 目錄 | databricks-feature-engineering |
FeatureEngineeringClient |
Databricks Runtime 14.3 ML 和更新版本 | 工作區 | databricks-feature-engineering |
FeatureStoreClient |
Databricks Runtime 14.2 ML 和以下版本 | Unity 目錄 | databricks-feature-engineering |
FeatureEngineeringClient |
Databricks Runtime 14.2 ML 和以下版本 | 工作區 | databricks-feature-store |
FeatureStoreClient |
注意
-
databricks-feature-engineering<=0.7.0
與mlflow>=2.18.0
不相容。 若要搭配 MLflow 2.18.0 和更新版本使用databricks-feature-engineering
,請升級至databricks-feature-engineering
0.8.0 版或更新版本。
版本資訊
請參閱 Databricks 功能工程和舊版工作區功能存放區的版本資訊。
特徵工程 Python API 參考
請參閱功能工程 Python API 參考。
工作區功能存放區 Python API 參考 (已淘汰)
注意
- 自 0.17.0 版起,
databricks-feature-store
已被取代。 此套件中的所有現有模組現在都可在databricks-feature-engineering
0.2.0 版和更新版本中取得。
如需 databricks-feature-store
v0.17.0,請參閱功能工程 Python API 參考FeatureStoreClient
Databricks,以取得最新的工作區功能存放區 API 參考。
針對 v0.16.3 和以下版本,請使用表格中的鏈接來下載或顯示功能存放區 Python API 參考。 若要判斷 Databricks Runtime ML 版本的預安裝版本,請參閱 相容性矩陣。
版本 | 下載 PDF | 在線 API 參考 |
---|---|---|
v0.3.5 至 v0.16.3 | 功能存放區 Python API 0.16.3 參考 PDF | 在線 API 參考 |
v0.3.5 和以下版本 | 功能存放區 Python API 0.3.5 參考 PDF | 在線 API 參考無法使用 |
Python 套件
本節說明如何安裝 Python 套件,以使用 Databricks 功能工程和 Databricks 工作區功能存放區。
特徵工程
注意
- 自 0.2.0 版起,
databricks-feature-engineering
包含可在 Unity 目錄和工作區功能存放區中使用功能數據表的模組。databricks-feature-engineering
下列 0.2.0 版僅適用於 Unity 目錄中的功能數據表。
Databricks 功能工程 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
工作區功能存放區 (已淘汰)
注意
- 自 0.17.0 版起,
databricks-feature-store
已被取代。 此套件中的所有現有模組現在都可在databricks-feature-engineering
0.2.0 版和更新版本中取得。 - 如需詳細資訊,請參閱 遷移至 databricks-feature-engineering 。
Databricks 功能存放區 API 可透過 Python 用戶端套件 databricks-feature-store
取得。 用戶端可在 PyPI 上使用,並預安裝在 databricks Runtime for 機器學習。 如需哪個運行時間包含哪些用戶端版本的參考,請參閱 相容性矩陣。
若要在 Databricks Runtime 中安裝用戶端:
%pip install databricks-feature-store
若要在本機 Python 環境中安裝用戶端:
pip install databricks-feature-store
移轉至 databricks-feature-engineering
若要安裝 databricks-feature-engineering
套件,請使用 pip install databricks-feature-engineering
而非 pip install databricks-feature-store
。 中的所有 databricks-feature-store
模組都已移至 databricks-feature-engineering
,因此您不需要變更任何程序代碼。 安裝 之後from databricks.feature_store import FeatureStoreClient
,例如的databricks-feature-engineering
匯入語句將會繼續運作。
若要在 Unity 目錄中使用功能資料表,請使用 FeatureEngineeringClient
。 若要使用工作區功能存放區,您必須使用 FeatureStoreClient
。
支援的案例
在 Databricks 上,包括 databricks Runtime 和 databricks Runtime for 機器學習,您可以:
- 建立、讀取和寫入功能數據表。
- 在特徵數據上定型和評分模型。
- 將功能數據表發佈至在線商店以進行實時服務。
從 Databricks 外部的本機環境或環境,您可以:
- 使用本機 IDE 支援開發程式代碼。
- 使用模擬架構進行單元測試。
- 撰寫在 Databricks 上執行的整合測試。
限制
用戶端連結庫只能在 Databricks 上執行,包括 databricks Runtime 和 databricks Runtime for 機器學習。 它不支援從本機環境或 Databricks 以外的環境呼叫 Unity 目錄或功能存放區 API 中的功能工程。
使用客戶端進行單元測試
您可以在 Unity 目錄用戶端或功能存放區用戶端本機安裝功能工程,以協助執行單元測試。
例如,若要驗證方法 update_customer_features
是否已正確呼叫 FeatureEngineeringClient.write_table
(或工作區功能存放區), 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 目錄用戶端中的功能工程或 Databricks 上的 Feature Store 用戶端來執行整合測試。 如需詳細資訊,請參閱 開發人員工具和指引:使用 CI/CD。