使用時間序列特性表時間點支持

與時間序列特征表,磚特性存儲支持時間序列和基於事件的用例要求時間點的正確性。你可以指定一個特定列的功能表的時間戳鍵和曆史特征值為特定的主鍵值存儲在不同的時間戳,每在一個單獨的行。檢索的最新特征值作為一個特定的時間培訓或評分模型,磚特性存儲支持及時查找對時間序列特征表。

請注意

時間點的查找功能有時被稱為“時間旅行”。磚的時間點功能特性存儲無關三角洲湖時間旅行

時間點查找幫助避免數據泄漏問題時出現的模型的訓練是在實時推理特性值不可用。信息泄露可能會引入大量模型訓練和實時推理之間的性能差異。與時間序列特征表,您可以確保模型使用最新的特性,基於時間戳你指定培訓。

考慮使用時間序列特征表如果你的特征值隨時間變化的,例如時間序列數據,基於事件的數據,或time-aggregated數據。

需求

功能存儲客戶端v0.3.7以上。

創建一個表在磚功能存儲時間序列特性

創建一個時間序列特征表,DataFrame或模式必須包含一個列指定時間戳的關鍵。

fs=FeatureStoreClient()# user_features_df DataFrame包含以下列:#——user_id# - ts#——purchases_30d#——is_free_trial_activefscreate_table(的名字=“ads_team.user_features”,=“user_id”,timestamp_keys=“t”,features_df=user_features_df,)

一個時間序列特性表必須有一個時間戳鍵,不能有任何分區列。時間戳鍵列必須的TimestampTypeDateType也不能成為一個主鍵。

磚建議的時間序列特征表沒有超過兩個主鍵列,以確保性能和查找寫道。

更新時間序列特征表

當寫作特征的時間序列特性表、DataFrame必須提供值表的所有功能特性,與常規功能表。這個約束減少了稀疏的特征值在時間序列特性表中的時間戳。

fs=FeatureStoreClient()# daily_users_batch_df DataFrame包含以下列:#——user_id# - ts#——purchases_30d#——is_free_trial_activefswrite_table(“ads_team.user_features”,daily_users_batch_df,模式=“合並”)

流寫入時間序列特征表支持。

創建一個訓練集,一個時間序列特性表

執行時間點查找特性值時間序列特征表,您必須指定一個timestamp_lookup_key功能的FeatureLookup,這表明DataFrame列的名稱包含時間戳來查找時間序列的特性。磚特性存儲檢索最新的特性值之前DataFrame的指定的時間戳timestamp_lookup_key列,其主鍵DataFrame的匹配值lookup_key列,或如果沒有這樣的特性值的存在。

feature_lookups=(FeatureLookup(table_name=“ads_team.user_features”,feature_names=(“purchases_30d”,“is_free_trial_active”),lookup_key=“u_id”,timestamp_lookup_key=“ad_impression_ts”),FeatureLookup(table_name=“ads_team.ad_features”,feature_names=(“sports_relevance”,“food_relevance”),lookup_key=“ad_id”,)]# raw_clickstream DataFrame包含以下列:#——u_id#——ad_id#——ad_impression_tstraining_set=fscreate_training_set(raw_clickstream,feature_lookups=feature_lookups,exclude_columns=(“u_id”,“ad_id”,“ad_impression_ts”),標簽=“did_click”,)training_df=training_setload_df()

任何FeatureLookup在一個時間序列特性表必須及時查找,所以它必須指定一個timestamp_lookup_key在你的DataFrame列使用。時間點查找不跳過的行特性值存儲在時間序列特征表。

評分模型與時間序列特征表

當你的分數從時間序列模型訓練與功能特性表、磚特性存儲檢索適當的功能使用時間點查找與元數據打包模型在訓練。您提供的DataFrameFeatureStoreClient.score_batch必須包含一個時間戳列相同的名稱和數據類型隨著timestamp_lookup_keyFeatureLookup提供給FeatureStoreClient.create_training_set

發布時間序列特性在線商店

您可以使用FeatureStoreClient.publish_table發布時間序列特性表在線商店。磚特性存儲提供了功能發布快照或窗口時間序列數據的在線商店,這取決於OnlineStoreSpec這創造了一個在線商店。表顯示的細節為每個發布模式。

在線商店提供

快照發布模式

窗口發布模式

亞馬遜DynamoDB (v0.3.8及以上)

X

X

亞馬遜極光(MySQL-compatible)

X

Amazon RDS MySQL

X

發布時間序列快照

這個發布最新的特性為每個特性表中的主鍵值。在線商店支持主鍵查找但不支持時間點查找。

在線商店不支持生存時間,磚特性存儲隻支持快照發布模式。對於支持時間住的在線商店,默認發布模式快照除非生存時間(ttl)中指定OnlineStoreSpec在創建的時候。

發布時間序列窗口

這個發布所有特征值為每個特性表中主鍵的在線商店和自動刪除過期的記錄。記錄被認為是過期如果記錄的時間戳在指定的時間(UTC)比過去生活時間。詳情參考特定於雲的文檔在生存時間。

在線商店支持主鍵自動查找和檢索功能價值與最新的時間戳。

要使用這種出版模式,您必須提供一個價值生存時間(ttl)OnlineStoreSpec當你創建的在線商店。的ttl無法改變一次。所有後續發布調用繼承ttl和不需要顯式地定義它OnlineStoreSpec

例如筆記本電腦

時間序列特征表例子筆記本

在新標簽頁打開筆記本