設定 Azure Data Lake Storage
本文告訴您如何將 Azure Data Lake Storage 帳戶設定為使用智慧建議。
若要將智慧建議存取權授與您的 Data Lake Storage 帳戶,請先瀏覽至該帳戶,然後設定存取權限。
設定容器、根資料夾和記錄資料夾
若要選取智慧建議使用的容器和資料夾:
登入 Azure 入口網站並選取儲存體區段。
選擇您的業務要用於與智慧建議共用資料的訂閱和儲存體帳戶,然後選取容器。
建立或選擇現有的容器,然後建立或選取根資料夾。
注意
根資料夾和記錄資料夾以及容器的名稱不會影響服務,但在設定智慧建議帳戶期間提供路徑時必須相符。 請注意,範例中用來做為容器名稱的是 ircontainer,做為根資料夾名稱的是 ir_root,而做為記錄資料夾名稱的是 ir_logs。
檢查 ir_root 資料夾中子資料夾的名稱和結構。
設定容器的安全性
若要設定容器的安全性,您必須使用系統指派或使用者指派的受控識別,授與智慧建議讀取\寫入資料的存取權限。 若要深入了解可用的受控識別類型,以及哪個類型適用於您的商務案例,請參閱受控識別類型指南
可以使用兩種方式設定受控識別:
- 系統指派的識別 - 系統指派的受控識別限制為每個資源一個,並繫結至此資源的生命週期。
- 使用者指派的識別 - 使用者指派的受控識別讓 Azure 資源可以向雲端服務 (例如 Azure Key Vault) 進行驗證,而不在程式碼中儲存認證。
繼續之前,請確定您有業務要用來與智慧建議共用資料的訂閱和儲存體帳戶。
系統指派的受控識別方法
若要使用系統指派的受控識別來設定安全性:
- 開啟智慧建議帳戶。
- 在左窗格上,選取身分識別。
- 在系統指派索引標籤下,將狀態變成開啟,然後選取儲存。
- 返回儲存體帳戶,並選取左導覽窗格中的容器,然後選取 ircontainer (或您為容器指定的任何名稱)。
- 在左窗格中,選取存取控制 (IAM)。
若要允許智慧建議服務讀取記錄資料,請依照指定的步驟,指派儲存體 Blob 資料讀者,然後再次對儲存體 Blob 資料參與者權限重複步驟 1-6。
- 在授與此資源的存取權下方,選取新增角色指派。
- 在角色中,選取儲存體 Blob 資料讀者,然後選取下一步。
- 在下一個畫面的存取權指派對象區段底下,選取受控識別,然後選取 + 選取成員。
- 在受控識別底下,選取智慧建議帳戶類別。
- 接下來,您會看到智慧建議帳戶的清單。 選擇可存取此儲存體帳戶的相關帳戶,然後選擇選取。
- 選取 [檢閱 + 指派] 按鈕,完成您的決定。 重複上述步驟,同樣來設定 儲存體 Blob 資料參與者。
使用者指派的受控識別方法
如果您公司有多個需要對同一個容器中的資料進行讀取/寫入存取的帳戶,請將權限授與使用者指派的受控識別,並將其關聯至多個智慧建議帳戶。
注意
繼續之前,您必須已經建立使用者指派的受控識別。 如果您還沒有這種識別,請依照使用者指派的受控識別指南中所述的步驟操作。
建立使用者受控識別的先決條件包括:
- 訂閱:選擇要在其下建立使用者使用者指派的受控識別的訂閱。
- 資源群組:選擇要在其中建立使用者指派的受控識別的資源群組,或選取 [建立新項目] 以建立新的資源群組。
- 區域:選擇要部署使用者指派的受控識別的區域 (例如,美國西部)。
- 名稱:輸入使用者指派的受控識別的名稱。 請注意,僅支援英數字元 (0-9、a-z 和 A-Z) 和連字號 (-)。
複製您已建立並想要使用的使用者指派的受控識別。 如果您沒有這個識別,請參閱有關如何建立使用者指派的受控識別的附註。
從儲存體帳戶選取左導覽窗格中的容器,然後尋找 ircontainer (或任何包含您的資料合約的容器)。
在左窗格中,選取存取控制 (IAM)。
若要讓智慧建議服務可以讀取記錄資料,您必須新增儲存體 Blob 資料讀者和儲存體 Blob 資料參與者權限。
- 在授與此資源的存取權下方,選取新增角色指派。
- 在角色中,選取儲存體 Blob 資料讀者。
- 在存取權指派對象底下,選取受控識別,然後選取 + 選取成員。
- 選取使用者指派的受控識別。
- 選擇與您要授與權限之目標 IR 帳戶相關的使用者指派受控識別,然後選擇選取。
- 按一下 [檢閱 + 指派] 按鈕儲存變更,然後關閉對話方塊。
接下來,您必須將智慧建議帳戶連接至使用者指派的受控識別:
- 移至智慧建議帳戶。
- 在左窗格上,選取身分識別。
- 在身分識別索引標籤上,選取使用者指派索引標籤,然後選取 + 新增。
選取您要連接至 IR帳戶的使用者指派的受控識別。 如有需要,您可以將多個識別連接至 IR 帳戶。
選取新增以儲存您的選擇。
確認您的角色指派
返回儲存體帳戶和 ircontainer,確認您是否有正確的權限集。
- 在 ircontainer 中,從左窗格選取存取控制 (IAM)。
- 從檢視此資源的存取權區段選取檢視。
- 搜尋智慧建議服務,並確認此服務是否在角色指派區段中與儲存 Blob 資料讀者及儲存 Blob 資料參與者一起列出。 如果找不到這些角色,請返回,並使用先前所述步驟將角色重新加入。
注意
您也可以在資料夾層級上設定權限 (ACL 權限)。 如需 ACL 權限的詳細資訊,請移至 Azure Data Lake Storage Gen2 中的存取控制清單。
準備資料
智慧建議支援多種資料類型。 為獲得最佳結果,請將每個資料類型放在具有智慧建議可辨識之特定名稱的唯一子資料夾中。 您可以將具有正確結構描述的 CSV 檔案放在每個資料夾中。
準備 CSV 檔案時,請記住下列提示:
- 根資料夾層級底下資料夾的名稱很重要,必須與 model.json 檔案中所需的名稱完全相符。
- CSV 檔案的名稱並不重要。
- 您可以將多個 CSV 檔案放在資料夾中。 智慧建議也會嘗試讀取這些檔案。
- 資料量無關緊要。 您可以依所需方式分割資料。
- 像個人化建議這樣的案例需要不同的資料實體。
資料實體是一組有一個或多個資料文字檔的集合。 每個檔案都會有資料行 (或屬性) 的清單,以及包含實際資料的資料列。 智慧建議定義資料實體的邏輯群組,每個群組都各有本身用途。 資料實體為選擇性實體 (除非明確指出),這表示其資料可以空的 (或完全遺缺)。
在資料合約參考中深入了解智慧建議的資料類型。
若要準備資料,您必須新增三個資料實體:
- Reco_ItemsAndVariants:此檔案包含智慧建議向使用者建議的完整項目清單。
- Reco_Interactions:此檔案儲存使用者與項目之間的每個原始事件或使用者互動。 常見的事件包括按一下、檢視和交易。
- Reco_Config:此檔案不是資料專屬資料夾,但用於進行其他清單設定。
接下來,需要新增資料結構描述。
下載 model.json 檔案,並設定根資料夾
可下載的檔案 model.json 會說明整個資料結構描述。
選取此連結來下載 model.json 檔案。 此 JSON 檔案必須放在根資料夾中,而且不需要其他修改。
注意
不要修改 model.json 檔案。 修改檔案會造成智慧建議服務無法開始處理資料。
將 model.json 儲存或移動至根資料夾。
為資料實體建立三個子資料夾:Reco_ItemsAndVariants、Reco_Interactions 和 Reco_Config。
使用文字編輯器,建立預設 config.csv 檔案,並將其移至 Reco_Config 資料夾。
檔案結構現在看起來應該像這樣:
建立基本目錄檔案
最基本形式的目錄只是項目識別碼的一般清單。 現在可以使用 ItemsAndVariants 資料實體結構描述,其中只有五個欄位。
完整結構描述看起來像這樣:
ItemId, ItemVariantId, 標題, 描述, ReleaseDate
為了快速啟動您的服務,只有 ItemId 是必要的。 幾個您所應建立之檔案的範例資料列,如下:
0000394e,,,,
0000394f,,,,
0000394g,,,,
建立基本互動檔案
互動資料實體結構描述有 12 個欄位,但現在可以將大部分欄位設定為其預設值。
設定下列值:
必要欄位 | 名稱 |
---|---|
InteractionsGroupingId | 可以是任何將項目群組在一起的值。 您可將其設定為 UserId、SessionId 或 OrderId。 如果不確定要使用什麼值,而您有 UserId 時,請繼續並將其設定為 UserId。 |
ItemId | 建立基本目錄檔案中提到的相同 ItemId。 這些值必須符合您的目錄。 |
UserId | 任何表示使用者的字串。 智慧建議不會使用此欄位來查詢任何外部系統,因此該值可以表示任何對應至實際使用者識別碼的使用者。 |
TimeStamp | 表示所記錄之事件的日期和時間。 |
完整互動結構描述看起來像這樣:
InteractionsGroupingId, ItemId, ItemVariantId, UserId, InteractionType, Timestamp, RealtimeEventId, PaidPrice, Channel, Catalog, Strength, IsPositive
現在,您可以將其他欄位設定為其預設值。 互動檔案必須有足夠的資料列數,才能讓基於機器學習建立的模型執行個體計算結果。 您可以使用日誌記錄中的內建報表,判斷您的數量是否足夠。 如需日誌記錄的詳細資訊,請移至設定錯誤日誌記錄。
幾個您所應建立之檔案的範例資料列,如下:
1,0000394e,,1,Transaction,2018-09-02T13:30:10.000Z,,,,,1,TRUE
1,0000394f,,1,Transaction,2018-09-01T03:48:38.000Z,,,,,1,TRUE
2,0000394e,,2,Transaction,2016-06-17T17:01:23.000Z,,,,,1,TRUE
2,0000394f,,2,Transaction,2017-04-19T07:15:53.000Z,,,,,1,TRUE
3,0000394e,,3,Transaction,2016-11-16T18:28:50.000Z,,,,,1,TRUE
建立預設組態檔
現在,將此文字複製到您選擇的文字編輯器中,並儲存為 config.csv:
TrendingListMaxAgeDays,18250
TrendingListTransactionsIntervalDays,18250
BestSellingListTransactionsIntervalDays,36500
PersonalizationEnabled,False
ItemIdAsGuid,False