在工作區之間共享功能表

重要的

此頁麵僅適用於工作空間不支持統一目錄。如果你的工作區為統一啟用目錄,你可以分享功能表在使用統一目錄metastore工作區。特性工程統一目錄公共預覽

跨多個工作區磚支持共享特性表。例如,從自己的工作空間,您可以創建、寫入或讀取一個功能表存儲在一個集中的特點。這是有用當多個團隊共享訪問特性表或當你的組織有多個工作空間來處理不同的發展階段。

存儲為一個集中的特性,磚建議您指定一個存儲元數據工作區存儲所有的特性,並為每個用戶創建賬戶需要訪問存儲的特性。

如果你的團隊也在工作區之間共享模型,你可以選擇把相同的集中工作區特性表和模型,或者你可以指定不同的集中的工作區。

多個功能存儲工作區

訪問商店集中特性是由令牌控製。每個用戶需要訪問或腳本創建一個個人訪問令牌在存儲和集中的特征張牌到秘密的經理他們的本地工作區。每個API請求發送到集中的功能保存工作區必須包括訪問令牌;功能存儲客戶端提供了一個簡單的機製來指定執行cross-workspace操作時使用的秘密。

請注意

作為一個安全最佳實踐進行身份驗證時使用自動化工具,係統、腳本和應用程序,磚建議您使用OAuth令牌或個人訪問令牌屬於服務主體而不是用戶工作區。為服務主體,創建令牌服務主體的管理令牌

需求

使用一個特性存儲在工作區要求:

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

  • 兩個工作空間必須能夠訪問原始特征數據。他們必須共享相同的外部蜂巢metastore和訪問相同的DBFS存儲

  • 如果IP訪問列表啟用,工作區IP地址必須在訪問列表。

設置遠程注冊表的API令牌

在本節中,“B工作區”指的是集中存儲空間或遠程功能。

  1. 工作區中的B,創建一個訪問令牌

  2. 在你的本地工作區,創建的秘密存儲訪問令牌和工作區B:信息

    1. 創建一個秘密範圍:秘密創建範圍——範圍<範圍>

    2. 選擇一個工作區B的惟一標識符,如圖所示<前綴>。然後創建三個秘密與指定鍵的名字:

      • 秘密——範圍<範圍>——關鍵<前綴>主機:輸入主機名的工作區b . Python使用以下命令來獲取主機名的工作區:

        進口mlflowhost_url=mlflow跑龍套databricks_utilsget_webapp_url()host_url
      • 秘密——範圍<範圍>——關鍵<前綴>標記B:輸入工作空間的訪問令牌。

      • 秘密——範圍<範圍>——關鍵<前綴> -workspace-id:輸入工作區ID工作區B可以發現在URL中任何頁麵。

請注意

你可能想要共享秘密的範圍與其他用戶,因為有一個限製數量的秘密範圍/工作空間

指定一個遠程功能存儲

基於秘密範圍和名稱前綴創建遠程功能存儲空間,您可以構建一個功能存儲URI的形式:

feature_store_uri=f“磚:/ / <範圍>:<前綴>”

然後,當你實例化一個顯式地指定URIFeatureStoreClient:

fs=FeatureStoreClient(feature_store_uri=feature_store_uri)

創建一個數據庫功能表在共享DBFS位置

在你創建功能表存儲在偏遠的特性,您必須創建一個數據庫來存儲它們。數據庫必須存在於共享DBFS位置。

例如,要創建一個數據庫推薦在共享位置/ mnt /共享使用以下命令:

%sql創建數據庫如果存在推薦位置“/ mnt /共享”

創建一個功能表存儲在偏遠的特性

API來創建一個功能表的遠程功能存儲取決於磚使用運行時版本。

使用FeatureStoreClient.create_tableAPI:

fs=FeatureStoreClient(feature_store_uri=f“磚:/ / <範圍>:<前綴>”)fscreate_table(的名字=“recommender.customer_features”,primary_keys=“customer_id”,模式=customer_features_df模式,描述=“Customer-keyed特性”)

使用FeatureStoreClient.create_feature_tableAPI:

fs=FeatureStoreClient(feature_store_uri=f“磚:/ / <範圍>:<前綴>”)fscreate_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=fsread_table(的名字=“recommender.customer_features”,)

其他輔助方法用於訪問該功能表也支持:

fsread_table()fsget_feature_table()# v0.3.5和下麵fsget_table()# v0.3.6以上fswrite_table()fspublish_table()fscreate_training_set()

使用遠程注冊表模型

除了存儲URI指定遠程功能,您還可以指定一個遠程注冊表URI模式在工作區共享模型

指定一個遠程日誌記錄或評分模型注冊表模型,您可以使用一個注冊表URI來實例化一個FeatureStoreClient模型。

fs=FeatureStoreClient(model_registry_uri=f“磚:/ / <範圍>:<前綴>”)customer_features_df=fslog_model(模型,“recommendation_model”,味道=mlflowsklearn,training_set=training_set,registered_model_name=“recommendation_model”)

使用feature_store_urimodel_registry_uri,你可以訓練一個模型使用任何本地或遠程功能表,然後注冊模型在任何本地或遠程注冊表。

fs=FeatureStoreClient(feature_store_uri=f“磚:/ / <範圍>:<前綴>”,model_registry_uri=f“磚:/ / <範圍>:<前綴>”)

筆記本的例子:在工作區之間共享功能表

下麵的筆記本顯示了如何使用一個集中的存儲特性。

集中存儲特性的例子筆記本

在新標簽頁打開筆記本