Azure Machine Learning 中的資料概念

Azure Machine Learning 可讓您從本機電腦或現有的雲端式儲存體資源匯入資料。 本文說明重要的 Azure Machine Learning 資料概念。

Datastore

Azure Machine Learning 資料存放區作為現有 Azure 儲存體帳戶的參考。 Azure Machine Learning 資料存放區提供下列優點:

  • 常見且易於使用的 API,可與不同的儲存體類型 (Blob/檔案/ADLS) 互動。
  • 在小組作業中更輕鬆探索有用的資料存放區。
  • 針對認證型存取 (服務主體/SAS/金鑰),Azure Machine Learning 資料存放區可保護連線資訊。 如此一來,您就不必在指令碼中放入該資訊。

當您使用現有 Azure 儲存體帳戶建立資料存放區時,可以選擇兩種不同的驗證方法:

  • 認證型 - 使用服務主體、共用存取簽章 (SAS) 權杖或帳戶金鑰來驗證資料存取。 具有讀者工作區存取權的使用者可以存取認證。
  • 身分識別型 - 使用 Microsoft Entra 身分識別或受控識別來驗證資料存取。

下表摘要說明 Azure Machine Learning 資料存放區可建立的 Azure 雲端式儲存體服務。 此外,該資料表還總結了可以存取這些服務的驗證類型:

支援的儲存體服務 認證型驗證 以身分識別為基礎的驗證
Azure Blob 容器
Azure 檔案共用
Azure Data Lake Gen1
Azure Data Lake Gen2

如需資料存放區的詳細資訊,請參閱建立資料存放區

預設數據存放區

每個 Azure 機器學習 工作區都有預設記憶體帳戶 (Azure 記憶體帳戶),其中包含下列資料存放區:

提示

若要尋找工作區的標識碼,請移至 Azure 入口網站 中的工作區。 展開 設定,然後選取 [屬性]。 工作區 標識碼 隨即顯示。

資料存放區名稱 數據儲存類型 數據記憶體名稱 描述
workspaceblobstore Blob 容器 azureml-blobstore-{workspace-id} 儲存數據上傳、作業程序代碼快照集和管線數據快取。
workspaceworkingdirectory 檔案共用 code-{GUID} 儲存筆記本、計算實例和提示流程的數據。
workspacefilestore 檔案共用 azureml-filestore-{workspace-id} 數據上傳的替代容器。
workspaceartifactstore Blob 容器 azureml 儲存體 計量、模型和元件等資產。

資料類型

URI (儲存位置) 可以參考檔案、資料夾或資料表。 機器學習作業輸入和輸出定義需要下列三種資料類型之一:

類型 V2 API V1 API Canonical 案例 V2/V1 API 差異
檔案
參考單一檔案
uri_file FileDataset 讀取/寫入單一檔案 - 檔案可以是任何格式。 V2 API 的新類型。 在 V1 API 中,檔案一律對應至計算目標檔案系統上的資料夾;此對應需要 os.path.join。 在 V2 API 中,會對應單一檔案。 如此一來,您就可以在程式碼中參考該位置。
資料夾
參考單一資料夾
uri_folder FileDataset 您必須將 parquet/CSV 檔案的資料夾讀取/寫入至 Pandas/Spark 中。

使用位於資料夾中的影像、文字、音訊、視訊檔案進行深度學習。
在 V1 API 中,FileDataset 具有可從資料夾取得檔案範例的相關聯引擎。 在 V2 API 中,資料夾是與計算目標檔案系統的簡單對應。
Table
參考資料表
mltable TabularDataset 您的複雜結構描述可能會經常變更,或需要大型表格式資料的子集。

具有資料表的 AutoML。
在 V1 API 中,Azure Machine Learning 後端會儲存資料具體化藍圖。 因此,僅在您擁有 Azure Machine Learning 工作區時,TabularDataset 才能運作。 mltable 會將資料具體化藍圖儲存在您的儲存體中。 此儲存位置意味著您可以在與 AzureML 中斷連線的情況下使用它,例如本機和內部部署。 在 V2 API 中,您會發現從本機轉換至遠端作業更容易。 如需詳細資訊,請參閱使用 Azure Machine Learning 中的資料表

URI

統一資源識別項 (URI) 代表本機電腦上的儲存體位置、Azure 儲存體,或公開可用的 HTTP 位置。 這些範例顯示了不同儲存體選項的 URI:

儲存位置 URI 範例
Azure Machine Learning 資料存放區 azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet
本機電腦 ./home/username/data/my_data
公用 HTTP/S 伺服器 https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
Blob 儲存體 wasbs://<containername>@<accountname>.blob.core.windows.net/<folder>/
Azure Data Lake (gen2) abfss://<file_system>@<account_name>.dfs.core.windows.net/<folder>/<file>.csv
Azure Data Lake (gen1) adl://<accountname>.azuredatalakestore.net/<folder1>/<folder2>

Azure Machine Learning 作業將 URI 對應至計算目標檔案系統。 此對應表示,在取用或產生 URI 的命令中,該 URI 的運作方式類似於檔案或資料夾。 URI 會使用身分識別型驗證,使用您的 Microsoft Entra ID (預設) 或受控識別連線至儲存體服務。 Azure Machine Learning 資料存放區 URI 可以套用身分識別型驗證,或認證型驗證 (例如服務主體、SAS 權杖、帳戶金鑰),而不會曝光秘密。

URI 可作為 Azure Machine Learning 作業的輸入輸出,並且可以使用四種不同模式選項之一對應至計算目標檔案系統:

  • 讀裝載 (ro_mount):URI 代表裝載至計算目標檔案系統的儲存位置。 裝載的資料位置僅支援唯讀輸出。
  • 讀取-寫入裝載 (rw_mount):URI 代表裝載至計算目標檔案系統的儲存位置。 裝載的資料位置支援從中讀取輸出向其寫入資料。
  • 下載 (download):URI 代表儲存位置包含下載至計算目標檔案系統的資料。
  • 上傳 (upload):寫入計算目標位置的所有資料都會上傳至 URI 所代表的儲存位置。

此外,您可以使用直接模式,以作業輸入字串形式傳入 URI。 下表總結了適用於輸入和輸出的模式組合:

工作 (Job)
輸入或輸出
upload download ro_mount rw_mount direct
輸入
輸出

如需詳細資訊,請參閱存取作業中的資料

資料執行階段功能

Azure Machine Learning 使用自己的資料執行階段實現下列三個用途之一:

  • 用於裝載/上傳/下載
  • 將儲存體 URI 對應至計算目標檔案系統
  • 使用 Azure Machine Learning 資料表 (mltable) 將表格式資料具體化為 pandas/spark

Azure Machine Learning 資料執行階段專為高速且高效率的機器學習工作而設計。 其提供下列主要優點:

  • Rust 語言架構。 Rust 語言以高速和高記憶體效率而聞名。
  • 輕量型;Azure Machine Learning 資料執行階段與其他技術建立相依性 (例如 JVM),因此執行階段可快速安裝於計算目標上。
  • 多流程 (平行) 資料載入。
  • 資料預先擷取會在 CPU 上以背景工作形式運作,從而提高深度學習作業中 GPU 的使用率。
  • 雲端儲存空間的無縫驗證。

資料資產

Azure Machine Learning 資料資產類似於網頁瀏覽器書籤 (我的最愛)。 您不必記住指向最常用資料的冗長儲存體路徑 (URI),只要建立資料資產,就能以自訂名稱存取該資產。

建立資料資產也會建立資料來源位置的參考,以及其中繼資料的複本。 因為資料留在現有位置,所以不會產生額外的儲存成本,也不損及資料來源的完整性。 您可以從 Azure Machine Learning 資料存放區、Azure 儲存體、公用 URL 或本機檔案建立資料資產。

如需資料資產的詳細資訊,請參閱建立資料資產

下一步