快速入門:在 Azure Machine Learning 中使用 Apache Spark 進行互動式資料整頓
為了處理互動式 Azure Machine Learning Notebook 資料整頓,Azure Machine Learning 與 Azure Synapse Analytics 整合可讓您輕鬆存取 Apache Spark 架構。 此存取可讓您進行 Azure Machine Learning Notebook 互動式資料整頓。
在本快速入門指南中,您將了解如何使用 Azure Machine Learning 無伺服器 Spark 計算、Azure Data Lake Storage (ADLS) Gen 2 儲存體帳戶和使用者身分識別傳遞來執行互動式資料整頓。
必要條件
- Azure 訂用帳戶;如果您沒有 Azure 訂用帳戶,請在開始之前建立免費帳戶。
- Azure Machine Learning 工作區。 請造訪建立工作區資源。
- Azure Data Lake Storage (ADLS) Gen 2 儲存體帳戶。 請造訪建立 Azure Data Lake Storage (ADLS) Gen 2 儲存體帳戶。
將 Azure 儲存體帳戶認證儲存為 Azure Key Vault 中的秘密
使用 Azure 入口網站使用者介面,將 Azure 儲存體帳戶認證儲存為 Azure Key Vault 中的秘密:
在 Azure 入口網站中,瀏覽至您的 Azure Key Vault
選取左面板中的 [祕密]
選取 [+ 產生/匯入]
在 [建立秘密] 畫面上,為您要建立的秘密輸入名稱
在 Azure 入口網站中瀏覽至 Azure Blob 儲存體帳戶,如下圖所示:
從 Azure Blob 儲存體帳戶頁面左側面板中選取 [存取金鑰]
選取 [金鑰 1] 旁的 [顯示],然後選取 [複製到剪貼簿],以取得儲存體帳戶存取金鑰
注意
建立 Azure Key Vault 秘密時,選取適當的選項來複製
- Azure Blob 儲存體容器共用存取簽章 (SAS) 權杖
- Azure Data Lake Storage (ADLS) Gen 2 儲存體帳戶服務主體認證
- 租用戶識別碼
- 用戶端識別碼和
- secret
(位於各自的使用者介面上)
瀏覽回 [建立秘密] 畫面
在 [秘密值] 文字方塊中,輸入在先前步驟中複製到剪貼簿的 Azure 儲存體帳戶存取金鑰認證
選取 [建立]
提示
Azure CLI 和適用於 Python 的 Azure Key Vault 祕密用戶端程式庫也可以建立 Azure Key Vault 秘密。
在 Azure 儲存體帳戶中新增角色指派
在開始進行互動式資料整頓之前,我們必須確保輸入和輸出資料路徑是可存取的。 首先,針對
Notebooks 工作階段登入使用者的使用者身分識別
或
服務主體
將讀者和儲存體 Blob 資料讀者角色指派給登入使用者的使用者身分識別。 不過,在某些情況下,我們可能會想要將整頓的資料寫入回 Azure 儲存體帳戶。 讀者和儲存體 Blob 資料讀者角色提供使用者身分識別或服務主體的唯讀存取權。 若要啟用讀取和寫入存取權,請將參與者和儲存體 Blob 資料參與者角色指派給使用者身分識別或服務主體。 若要將適當的角色指派給使用者身分識別:
搜尋並選取 [儲存體帳戶] 服務
在 [儲存體帳戶] 頁面上,從清單中選取 Azure Data Lake Storage (ADLS) Gen 2 儲存體帳戶。 顯示儲存體帳戶 [概觀] 的頁面會隨之開啟
從左面板中選取 [存取控制 (IAM)]
選取 [新增角色指派]
尋找並選取 [儲存體 Blob 資料參與者] 角色
選取下一個
選取 [使用者、群組或服務主體]
選取 [+ 選取成員]
在 [選取] 的下方搜尋使用者身分識別
從清單中選取使用者身分識別,使其顯示在 [選取的成員] 底下
選取適當的使用者身分識別
選取下一個
選取 [檢閱 + 指派]
針對參與者角色指派重複步驟 2-13
一旦為使用者身分識別已指派了適當的角色後,Azure 儲存體帳戶中的資料就應該可以存取。
注意
如果連結的 Synapse Spark 集區 (英文) 指向的 Synapse Spark 集區位於 Synapse Analytics 工作區,且該工作區具有與其相關聯的受控虛擬網路,則為確保資料存取,應設定連線到儲存體帳戶的受控私人端點。
確保 Spark 作業的資源存取
若要存取資料和其他資源,Spark 作業可以使用受控識別或使用者身分識別傳遞。 下表概述了使用 Azure Machine Learning 無伺服器 Spark 計算和連結 Synapse Spark 集區時,資源存取的不同機制。
Spark 集區 | 支援的身分識別 | 預設身分識別 |
---|---|---|
無伺服器 Spark 計算 | 使用者身分識別、附加至工作區的使用者指派的受控識別 | 使用者身分識別 |
連結的 Synapse Spark 集區 | 使用者身分識別、連結附加 Synapse Spark 集區的使用者指派的受控識別、附加 Synapse Spark 集區的系統指派的受控識別 | 連結 Synapse Spark 集區的系統指派的受控識別 |
如果 CLI 或 SDK 程式碼定義一個使用受控識別的選項,則 Azure Machine Learning 無伺服器 Spark 計算會依賴連結至工作區的使用者指派受控識別。 您可以使用 Azure Machine Learning CLI v2 或透過 ARMClient
,將使用者指派的受控識別連結至現有的 Azure Machine Learning 工作區。