分享方式:


Python API

此頁面提供 Databricks 功能工程和 Databricks 工作區功能存放區的 Python API 文件連結,以及用戶端套件 databricks-feature-engineeringdatabricks-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

版本資訊

請參閱 Unity 目錄用戶端中的 Databricks 功能工程和 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 參考中的 DatabricksFeatureStoreClient,以取得最新的工作區功能存放區 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-engineering0.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,因此您不需要變更任何程序代碼。 安裝 之後databricks-feature-engineering,例如的from databricks.feature_store import FeatureStoreClient匯入語句將會繼續運作。

若要在 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