Databricks 功能商店與舊有 Workspace 功能商店的發佈說明

此頁面列出 Unity 目錄用戶端和 Databricks 工作區功能存放區用戶端中 Databricks 功能工程的版本。 這兩個用戶端都可在 PyPI 上使用: databricks-feature-engineering 和 databricks-feature-store。

程式庫可用來:

  • 建立、讀取和寫入功能數據表。
  • 在特徵數據上訓練模型。
  • 將功能數據表發佈至在線商店以進行實時服務。

如需使用方式檔,請參閱 Databricks 功能存放區。 關於 Python API 文件,請參見特徵工程 Python API。

Unity 類別目錄中的特徵工程客戶端適用於 Unity 類別目錄中的特徵和特徵資料表。 工作區功能存放區用戶端適用於工作區功能存放區中的功能和功能數據表。 這兩個用戶端都預先安裝在 Databricks 的機器學習運行時環境中。 它們在從 PyPI 安裝databricks-feature-engineeringpip install databricks-feature-engineering後,也可以在 Databricks Runtime 上執行。 僅供單元測試使用,這兩個用戶端都可以在本機或 CI/CD 環境中使用。

如需數據表,其中顯示與 Databricks Runtime 和 Databricks Runtime ML 版本的用戶端版本相容性,請參閱 功能工程相容性矩陣。 舊版 Databricks 工作區功能存放區用戶端可在 PyPI 上以 databricks-feature-store 的形式取得。

databricks-feature-engineering 0.18.1

本版本包含以下功能檢視的改進:

  • Lakebase 的線上服務現在支援超過 64 字元的功能名稱。
  • RollingWindow 現在接受 window_duration=None,表示 Delta 來源的生命週期 Last 彙總,且以僅限線上的資料表觸發程序為基礎的實體化。
  • 基於 FeatureViewSource 的功能現在可使用 compute_features() 預覽,包括跨越多個來源資料表的相依關係。
  • SawtoothWindow 現已支援 create_training_set() 和 compute_features() 中的終身聚合視窗(window_duration=None)。
  • 錯誤修正和改進。

databricks-feature-engineering 0.18.0

  • FeatureView來源:
    • New FeatureViewSource 定義由其他特徵組成的特徵,並在其值上依列套用 CustomUDF 。 整個訓練和服務生命週期皆支援,但 compute_features() 除外。
  • CustomUDF 功能:
    • create_feature() 會根據 Unity Catalog 函式簽章驗證 CustomUDFinput_bindings,並檢查繫結欄位類型是否與函式參數類型相符,在建立特徵時而非在訓練或提供服務時回報不符情況。
  • 串流功能:
    • create_stream() 新增了 record_type_filter(這是一個 SQL 述詞,會在解碼後僅保留相符的記錄)以及 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(),排除尚未穩定的來源列。
    • 新增對 Databricks Runtime 18 字串類型的支援,可用於特徵 UDF 的輸入與輸出。
    • 例如 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_duration 必須大於兩天;較短的時間範圍請改用 RollingWindow。
  • LastN 聚合(預覽):
    • 新 LastN 彙整會以陣列形式回傳視窗中最近 N 個值,依特徵的時間序列欄位排序。 支援SlidingWindow和RollingWindow時間範圍。
  • 生命週期彙總視窗:
    • SlidingWindow 現在支援永久(無限)視窗,可對全部歷史資料進行彙總。 僅批次功能可使用存留期視窗;將 window_duration 設為 None,即可在 create_training_set() 和 compute_features() 中定義存留期視窗。
  • CustomUDF 功能(預覽):
    • 適用於 create_feature() 的新 CustomUDF 函式類型,會將已註冊的 Unity Catalog 函式以逐列方式套用至來源欄位。 input_bindings 將每個 UC 函數參數映射到填滿該參數的來源欄位。 CustomUDF 僅直接作用於 RequestSource (請求時)功能;無法套用於其他功能類型。
  • 串流來源轉換(預覽):
    • StreamSource 現在接受 transformation_sql 在串流結構轉換後套用的 SQL SELECT 表達式,以在特徵計算前轉換記錄。 設定時,透過 dataframe_schema 提供轉換後的輸出結構描述。
  • 串流來源的結構登錄(預覽):
    • create_stream() 現在可透過 Unity Catalog 連線,使用 SchemaRegistryConfig 從外部結構描述登錄(例如 Confluent)解析串流金鑰和負載的結構描述,而不必內嵌提供結構描述。 支援 Avro 和 Protobuf 格式。
  • 自訂服務依賴(預覽):
    • 你現在可以宣告額外的 pip 依賴以支援特徵服務。 create_feature_spec() 和 log_model() 接受 extra_pip_requirements,也就是一份 pip 套件(或 Unity Catalog 磁碟區 .whl 路徑)清單,用於在模型服務環境中安裝特徵 UDF 所需但預設未提供的程式庫。 在模型提供服務時,於特徵規格中宣告的依賴關係會一併沿用。
  • 其他改進:
    • 錯誤修正和改進。

databricks-feature-engineering 0.16.1

  • create_training_set 和 score_batch 現在可在有可用的離線實體化彙總功能時加以重用,從而加速訓練集建立和批次推論。 請參見 Materialize 特徵視圖。
  • RequestSource 功能不再需要實體和時間序列欄位。
  • 修正錯誤 First ,結果 Last 為 create_training_set。 這些聚合現在預設包含空值;新增 A filter_condition 以排除空輸入欄位。
  • 修正當來源資料列包含 null 時,compute_features 回傳 0 或 null 的問題。
  • 錯誤修正和改進。

databricks-feature-engineering 0.16.0

  • 功能檢視公開預覽:
    • Feature Views 現已推出公開預覽。 在 is_beta_feature_view() 上的 list_beta_feature_views() 和 FeatureEngineeringClient 公用程式會識別在 Beta API 下註冊且需要遷移至 Public Preview 形式的功能。
    • Feature.clone() 方法協助將 Beta 功能檢視遷移至 Public Preview。
    • create_pipeline 已棄用於 Feature Views;請改用 materialized features API。
  • 串流功能:
    • StreamSource 現已在 create_feature() 中受到支援,可用於定義以 Kafka 或 Delta 來源為後端的串流特徵。
    • create_training_set 現在支援使用以 StreamSource 定義的特徵進行訓練。
    • 在 create_stream 上新增了用於管理串流功能來源的 get_stream、update_stream、delete_stream、list_streams 和 FeatureEngineeringClient 方法。
    • StreamingMode 觸發器為 materialize_features 選擇微批次物質化。
  • 其他改進:
    • 新的 list_features() API 會在 FeatureEngineeringClient 目錄或結構描述中列出功能。
    • 新的 grant_feature_serving_access() 公用程式會授予在線提供實體化特徵所需的權限,並提供 dry_run 模式,可在套用前預覽存取權限。
    • DeltaTableSource.from_sql() 現在可直接接受 SparkSession。
    • DeltaTableSource.dataframe_schema 取代已 schema_json 棄用的參數。
    • RollingWindow 取代已移除 ContinuousWindow 的別名。
    • 已從 offset 移除已棄用的 RollingWindow 參數;請改用 delay。
    • 移除了在使用預設 catalog 時對兩部分的 Unity Catalog 名稱的支援。
    • 錯誤修正和改進。

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和 。
  • 其他改進:
    • 適用於 TableTrigger 的新 materialize_features 觸發器類型,會在 Delta 資料表更新時觸發具體化。
    • score_batch 現已可在 Databricks Runtime Serverless 執行環境上執行。
    • DeltaTableSource.from_sql() 現在拒絕不受支援的 SQL 子句,如 GROUP BY 和 ORDER BY。
    • RequestSource.from_dataframe() 從現有的資料框架推斷請求結構。
    • 已從 databricks-feature-engineering 移除 Flask 相依性。
    • 錯誤修正和改進。

Databricks-feature-engineering 0.14.0

  • 批次宣告式特性(Beta):
    • 宣告式功能 API,將宣告式功能定義儲存為 Unity 目錄函式,並附有聚合與時間視窗。
    • 實體化功能 API 會自動批次將功能實體化到線上商店,使用可設定的 cron 排程。
    • 實體化的功能可以用於 Unity Catalog 中註冊模型的即時服務。
    • 滑動與翻滾視窗支援使用 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 建立或更新線上商店以提升閱讀擴展性。
  • 錯誤修正和改進。

數據磚功能工程 0.12.1

  • 支援特性查找的預設值。
  • 錯誤修正和改進。

數據磚功能工程 0.11.0

  • 新增對 mlflow 3.0 版的支援。
  • 錯誤修正和改進。

Databricks 特徵工程 0.10.2

  • 新增 2.20.0 版和更新版本的支援 mlflow 。
  • 新增對版本 2.x 的 numpy 支援。
  • 錯誤修正和改進。

數據磚功能工程 0.9.0

  • 支援在 prebuilt_env 的調用中使用 score_batch。
  • 使用 Photon 改進特定時間點資料聯結效能的功能。
  • 錯誤修正和改進。

數據磚功能工程 0.8.0

  • 支援在 params 調用中使用 score_batch,以允許將其他參數傳遞至模型進行推斷。
  • 錯誤修正和改進。

數據磚功能工程 0.7.0

數據磚功能工程 0.6.0

  • 現在除了既有的 Tempo 支援之外,也支援使用原生 Spark 執行時間點聯集。 感謝塞米翁·辛琴科提出這個想法!
  • 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)

  • 新的 API update_feature_spec 在databricks-feature-engineering中,這項 API 使得使用者能夠更新 Unity Catalog 中 FeatureSpec 的擁有者。

數據磚功能工程 0.4.0

  • 小錯誤修正和改進。

數據磚功能工程 0.3.0

Databricks-feature-store 0.17.0

  • databricks-feature-store 已被取代。 此套件中的所有現有模組都可在 databricks-feature-engineering 0.2.0 版和更新版本中取得。 如需詳細資訊,請參閱 Python API。

數據磚功能工程 0.2.0

  • databricks-feature-engineering 現在包含 來自 databricks-feature-store的所有模組。 如需詳細資訊,請參閱 Python API。

數據磚功能存放區 0.16.3

  • 修正使用 AutoML 搭配特徵表時的逾時錯誤。

數據磚功能工程 0.1.3

  • UpgradeClient 中的小型改善。

數據磚功能存放區 0.16.2

  • 您現在可以建立功能與函式服務端點。 如需詳細資訊,請參閱 功能與函式服務。

數據磚功能存放區 0.16.1

  • 小錯誤修正和改進。

databricks-feature-engineering 0.1.2 和 databricks-feature-store 0.16.0

  • 小錯誤修正和改進。
    • 修正了因特定工作區設定導致記錄的不正確作業系譜 URL。

數據磚功能工程 0.1.1

  • 小錯誤修正和改進。

數據磚功能工程 0.1.0

  • Unity 目錄 Python 用戶端中的功能工程正式發行至 PyPI

Databricks 功能商店 0.15.1

  • 小錯誤修正和改進。

Databricks 特徵庫 0.15.0

  • 您現在可以在記錄模型時自動推斷和記錄輸入範例。 若要這樣做,請在呼叫 infer_model_example時,將 True 設定為 log_model。 此範例是以 參數中指定的 training_set 定型數據為基礎。

Databricks-feature-store 0.14.2

  • 修正從 MariaDB 連接器/J >=2.7.5 發行至 Aurora MySQL 時的錯誤。

Databricks 特性儲存 0.14.1

  • 小錯誤修正和改進。

數據磚功能存放區 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 功能商店 0.13.1

  • 小錯誤修正和改進。

數據磚功能存放區 0.13.0

  • 現在所需的最低 mlflow-skinny 版本是 2.4.0。
  • 如果提供的 DataFrame 未包含所有必要的查閱索引鍵,則建立訓練集會失敗。
  • 當在 Unity Catalog 中記錄使用功能數據表的模型時,會自動將 MLflow 簽章與模型一起記錄。

數據磚功能存放區 0.12.0

  • 您現在可以使用 drop_online_table API 刪除線上商店。

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 功能商店 0.8.0

  • 小錯誤修正和改進。

Databricks 功能存放區 0.7.1

  • 將 新增 flask 為相依性,以修正使用 score_batch評分模型時遺漏的相依性問題。

Databricks-feature-store 0.7.0

  • 小錯誤修正和改進。

Databricks 功能商店 0.6.1

  • Databricks Feature Store 用戶端的初始公開發行至 PyPI 平台。