功能商店概念

本節描述幫助您使用Databricks特征庫和特征表的概念。

請注意

目前,Databricks Feature Store不支持寫入Unity Catalog亞存儲。在支持Unity catalog的工作空間中,你可以將特性表寫入默認的Hive metastore中。

功能表

特性被組織成特性表。每個表後麵都有一個差值表以及額外的元數據。

一個特征表必須有一個主鍵。特征表中的特征通常使用公共計算函數計算和更新。

特性表元數據跟蹤生成表的數據源以及創建或寫入表的筆記本和作業。

可以將特性表發布到在線商店用於實時模型推斷。

你可以創建標記並將它們與一個特征表相關聯,以方便分組和發現。

時間序列特征表

用於訓練模型的數據通常具有內置的時間依賴性。當你建立模型時,你必須隻考慮到觀察目標值之前的特征值。如果基於目標時間戳之後測量的數據對特征進行訓練,模型的性能可能會受到影響。

時間序列特征表包含一個時間戳鍵列,以確保訓練數據集中的每一行都表示該行時間戳的最新已知特征值。當特征值隨時間變化時,您應該使用時間序列特征表,例如時間序列數據、基於事件的數據或時間聚合的數據。

屬性指定與時間相關的鍵timestamp_keys論點。這允許在使用時進行時間點查找create_training_setscore_batch.方法執行as-of時間戳連接timestamp_lookup_key你指定。

如果您不使用timestamp_keys參數,並將時間戳列指定為主鍵列,在連接期間,特征存儲不會將時間點邏輯應用到時間戳列。相反,它隻匹配具有精確時間匹配的行,而不是匹配時間戳之前的所有行。

離線存儲

離線特征庫用於特征發現、模型訓練和批量推理。它包含物化為的特性表三角洲表

在線商店

在線特征存儲是一種用於實時模型推斷的低延遲數據庫。有關Databricks支持的在線商店的列表,請參見與在線商店合作

流媒體

除了批寫,Databricks Feature Store還支持流。您可以從流數據源將特征值寫入特征表,並且可以利用特征計算代碼結構化流將原始數據流轉換為特征。

您還可以將功能表從離線商店流到在線商店。

訓練集

一個訓練集由一個特征列表和一個包含原始訓練數據、標簽和用於查找特征的主鍵的DataFrame組成。您可以通過指定從Feature Store中提取的特征來創建訓練集,並在模型訓練期間提供訓練集作為輸入。

看到創建一個訓練數據集如何創建和使用訓練集的示例。

模型的包裝

使用Databricks Feature Store中的特性訓練的機器學習模型保留對這些特性的引用。在推理時,模型可以選擇從特征庫中檢索特征值。調用者隻需要提供模型中使用的特性的主鍵(例如,user_id),模型從feature Store中檢索所有需要的特征值。

在批處理推理中,從離線存儲中檢索特征值,並在評分之前與新數據連接。在實時推理中,從在線存儲中檢索特征值。

要將模型與特性元數據打包,請使用FeatureStoreClient.log_model ()