在工作區之間共享功能表
跨多個工作區磚支持共享特性表。例如,從自己的工作空間,您可以創建、寫入或讀取一個功能表存儲在一個集中的特點。這是有用當多個團隊共享訪問特性表或當你的組織有多個工作空間來處理不同的發展階段。
存儲為一個集中的特性,磚建議您指定一個存儲元數據工作區存儲所有的特性,並為每個用戶創建賬戶需要訪問存儲的特性。
如果你的團隊也在工作區之間共享模型,你可以選擇把相同的集中工作區特性表和模型,或者你可以指定不同的集中的工作區。
訪問商店集中特性是由令牌控製。每個用戶需要訪問或腳本創建一個個人訪問令牌在存儲和集中的特征張牌到秘密的經理他們的本地工作區。每個API請求發送到集中的功能保存工作區必須包括訪問令牌;功能存儲客戶端提供了一個簡單的機製來指定執行cross-workspace操作時使用的秘密。
請注意
作為一個安全最佳實踐,驗證自動化工具時,係統中,腳本和應用程序,磚屬於建議您使用訪問令牌服務主體而不是用戶工作區。為服務主體,創建訪問令牌管理服務主體的訪問令牌。
需求
使用一個特性存儲在工作區要求:
功能存儲客戶端v0.3.6以上。
兩個工作空間必須能夠訪問原始特征數據。他們必須共享相同的外部蜂巢metastore和訪問相同的DBFS存儲。
如果IP訪問列表啟用,工作區IP地址必須在訪問列表。
設置遠程注冊表的API令牌
在本節中,“B工作區”指的是集中存儲空間或遠程功能。
請注意
你可能想要共享秘密的範圍與其他用戶,因為有一個限製數量的秘密範圍/工作空間。
指定一個遠程功能存儲
基於秘密範圍和名稱前綴創建遠程功能存儲空間,您可以構建一個功能存儲URI的形式:
feature_store_uri=f“磚:/ / <範圍>:<前綴>”
然後,當你實例化一個顯式地指定URIFeatureStoreClient
:
fs=FeatureStoreClient(feature_store_uri=feature_store_uri)
創建一個數據庫功能表在共享DBFS位置
在你創建功能表存儲在偏遠的特性,您必須創建一個數據庫來存儲它們。數據庫必須存在於共享DBFS位置。
例如,要創建一個數據庫推薦
在共享位置/ mnt /共享
使用以下命令:
%sql創建數據庫如果不存在推薦位置“/ mnt /共享”
創建一個功能表存儲在偏遠的特性
API來創建一個功能表的遠程功能存儲取決於磚使用運行時版本。
使用FeatureStoreClient.create_table
API:
fs=FeatureStoreClient(feature_store_uri=f“磚:/ / <範圍>:<前綴>”)fs。create_table(的名字=“recommender.customer_features”,primary_keys=“customer_id”,模式=customer_features_df。模式,描述=“Customer-keyed特性”)
使用FeatureStoreClient.create_feature_table
API:
fs=FeatureStoreClient(feature_store_uri=f“磚:/ / <範圍>:<前綴>”)fs。create_feature_table(的名字=“recommender.customer_features”,鍵=“customer_id”,模式=customer_features_df。模式,描述=“Customer-keyed特性”)
其他功能存儲方法的示例,請參閱例如筆記本電腦。
使用一個功能表從遠程存儲特性
你可以閱讀一個功能表的遠程功能存儲FeatureStoreClient.read_table
首先設置方法feature_store_uri
:
fs=FeatureStoreClient(feature_store_uri=f“磚:/ / <範圍>:<前綴>”)customer_features_df=fs。read_table(的名字=“recommender.customer_features”,)
其他輔助方法用於訪問該功能表也支持:
fs。read_table()fs。get_feature_table()# v0.3.5和下麵fs。get_table()# v0.3.6以上fs。write_table()fs。publish_table()fs。create_training_set()
使用遠程注冊表模型
除了存儲URI指定遠程功能,您還可以指定一個遠程注冊表URI模式在工作區共享模型。
指定一個遠程日誌記錄或評分模型注冊表模型,您可以使用一個注冊表URI來實例化一個FeatureStoreClient模型。
fs=FeatureStoreClient(model_registry_uri=f“磚:/ / <範圍>:<前綴>”)customer_features_df=fs。log_model(模型,“recommendation_model”,味道=mlflow。sklearn,training_set=training_set,registered_model_name=“recommendation_model”)
使用feature_store_uri
和model_registry_uri
,你可以訓練一個模型使用任何本地或遠程功能表,然後注冊模型在任何本地或遠程注冊表。
fs=FeatureStoreClient(feature_store_uri=f“磚:/ / <範圍>:<前綴>”,model_registry_uri=f“磚:/ / <範圍>:<前綴>”)