從 Azure 資料表匯入

本文說明如何使用 Azure Machine Learning Studio (傳統) 中的「匯 入資料 」模組,將結構化或半結構化資料從 azure 資料表匯入至機器學習實驗。

注意

適用于 : Machine Learning Studio (傳統)

此內容僅適用于 Studio (傳統) 。 Azure Machine Learning 設計工具中已新增類似的拖放模組。 若要深入瞭解 這兩個版本,請參閱這篇文章

Azure 表格 服務是 azure 中的資料管理服務,可儲存大量的結構化、非關聯式資料。 它是一種 NoSQL 資料存放區,可接受來自 Azure 內外經過驗證的呼叫。

從 Azure 資料表儲存體匯入需要您選擇兩種帳戶類型的其中一種:可使用 SAS URL 存取的儲存體帳戶,或需要登入認證的私人儲存體帳戶。

如何從 Azure 資料表匯入資料

使用資料匯入嚮導

此課程模組提供新的 wizard,可協助您選擇儲存選項、從現有的訂用帳戶和帳戶中選取,以及快速設定所有選項。

  1. 將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 資料輸入和輸出 下找到此模組。

  2. 按一下 [ 啟動匯入資料] ,並遵循提示進行。

  3. 設定完成時,若要實際將資料複製到您的實驗中,請以滑鼠右鍵按一下模組,然後選取 [ 執行選取 的]。

如果您需要編輯現有的資料連線,則嚮導會載入所有先前的設定詳細資料,讓您不必從頭重新開始

在 [匯入資料] 模組中手動設定屬性

下列步驟描述如何手動設定匯入來源。

  1. 將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 Azure Machine Learning Studio 的 實驗專案 清單中的 資料輸入和輸出群組中找到此模組 (傳統) 。

  2. 針對 [ 資料來源],選取 [ Azure 資料表]。

  3. 針對 [ 驗證類型],如果您知道資訊已提供為公用資料源,請選擇 [ 公用 (SAS URL])SAS URL 是有時間限制的存取 URL,可讓您使用 Azure 儲存體公用程式來產生。

    否則請選擇 [ 帳戶]。

  4. 如果您的資料位於可使用 SAS URL 存取的 公用 blob 中,則您不需要額外的認證,因為 URL 字串包含下載和驗證所需的所有資訊。

    在 [ 資料表 SAS URI ] 欄位中,輸入或貼上定義帳戶和公用 blob 的完整 URI。

    注意

    在可透過 SAS URL 存取的頁面中,只能使用下列格式來儲存資料: CSV、TSV 及 ARFF。

  5. 如果您的資料位於 私人 帳戶中,您必須提供包含帳戶名稱和金鑰的認證。

    • 針對 [ 資料表帳戶名稱],輸入或貼上包含您想要存取之 blob 的帳戶名稱。

      例如,如果儲存體帳戶的完整 URL 是 https://myshared.table.core.windows.net ,您會輸入 myshared

    • 針對 [ 資料表帳戶金鑰],貼上與儲存體帳戶相關聯的存取金鑰。

      如果您不知道存取金鑰,請參閱本文中的「查看、複製和重新產生儲存體存取金鑰」一節: 關於 Azure 儲存體帳戶

    • 針對 [ 資料表名稱],輸入您想要讀取之特定資料表的名稱。

  6. 選擇一個選項,以指出匯 入資料 應該掃描的資料列數目。 「匯入資料」會使用掃描來取得資料中的資料行清單,並判斷資料行的資料類型。

    • TopN:從資料集的頂端開始,只掃描指定的資料列數目。

      根據預設,系統會掃描10個數據列,但您可以使用 TopN 選項的 rows count 來增加或減少該值。

      如果資料是同質且可預測的,請選取 [ TopN ],並輸入 N 的數位。針對大型資料表,這可能會導致更快速的讀取時間。

    • ScanAll:掃描資料表中的所有資料列。

      如果資料是結構化的,且其屬性集會隨著資料表的深度和位置而變化,請選擇 [ScanAll] 選項以掃描所有資料列。 這可確保產生的屬性和中繼資料轉換具有完整性。

  7. 指出您是否要在每次執行實驗時重新整理資料。 如果您選取 [ 使用 快取的結果] 選項 (預設值) [匯 入資料 ] 模組會在第一次執行實驗時,從指定的來源讀取資料,之後再快取結果。 如果 [匯 入資料 ] 模組的參數有任何變更,則會重新載入資料。

    如果您取消選取此選項,就會在每次執行實驗時從來源讀取資料,不論資料是否相同。

範例

如需如何使用「 匯出資料 」模組的範例,請參閱 Azure AI 資源庫

技術說明

本節包含對常見問題的執行詳細資料、秘訣和解答。

常見問題

如何避免不必要地重新載入相同的資料?

如果您的來源資料有所變更,您可以重新整理資料集,並藉由重新執行匯 入資料來加入新的資料。 但是,如果您不想要在每次執行實驗時從來源重新讀取,請選取 [使用快取的 結果 ] 選項為 [TRUE]。 當此選項設定為 TRUE 時,模組會檢查實驗是否先前使用相同的來源和相同的輸入選項來執行,如果找到上一個執行,則會使用快取中的資料,而不是從來源重新載入資料。

是否可以在從來源讀取資料時篩選資料?

入資料 模組不支援在讀取資料時進行篩選。 例外狀況是從資料摘要讀取,這有時可讓您指定篩選準則做為摘要 URL 的一部分。

不過,您可以在將資料讀入 Azure Machine Learning Studio (傳統) 之後變更或篩選資料:

  • 使用自訂 R 腳本來變更或篩選資料。
  • 使用「 分割資料 」模組搭配相對運算式或正則運算式來隔離您要的資料,然後將它儲存為資料集。

注意

如果您發現您所載入的資料超過您的需要,您可以讀取新的資料集,並使用與舊有、較大的資料相同的名稱加以儲存,以覆寫快取資料集。

入資料 如何處理從不同地理區域載入的資料?

如果 blob 或資料表儲存體帳戶與用於機器學習實驗的計算節點位於不同的區域,則資料存取可能會變慢。 此外,您需支付訂用帳戶的資料輸入和輸出費用。

為什麼我的資料表中有某些字元未正確顯示?

Azure Machine Learning 支援 UTF-8 編碼。 如果您的資料表使用其他編碼方式,字元可能無法正確匯入。

匯入期間是否有任何禁止的字元或字元變更?

如果屬性資料包含引號或逸出字元序列,將比照 Microsoft Excel 中處理這類字元的規則來處理。 所有其他字元都是使用下列規格做為指導方針: RFC 4180

模組參數

Name 範圍 類型 預設 預設
資料來源 List 資料來源或接收 Azure Blob 儲存體 資料來源可以是 HTTP、FTP、匿名 HTTPS 或 FTPS、Azure BLOB 儲存體中的檔案、azure 資料表、Azure SQL Database、內部部署 SQL Server 資料庫、Hive 資料表或 OData 端點。
驗證類型 PublicOrSas

帳戶
tableAuthType 帳戶 指定資料是否位於可透過 SAS URL 存取的公用容器,或位於需要驗證存取權的私人儲存體帳戶中。

公用或 SAS-公用儲存選項

Name 範圍 類型 預設 描述
資料表 URI 任意 String
透過 SAS 之欲掃描屬性名稱的資料列 整數
透過 SAS 的 TopN 之資料列計數

帳戶-私用儲存選項

Name 範圍 類型 預設 描述
資料表帳戶名稱
資料表帳戶金鑰 任意 SecureString
資料表名稱 任意
要掃描屬性名稱的資料列 TopN

ScanAll
TopN 的資料列計數 任意 整數

輸出

名稱 類型 Description
結果資料集 資料表 含下載資料的資料集

例外狀況

例外狀況 描述
錯誤 0027 當兩個物件的大小必須相同但卻不同時,就會發生例外狀況。
錯誤 0003 如果一或多個輸入是 Null 或空白,就會發生例外狀況。
錯誤 0029 傳遞無效的 URI 時,就會發生例外狀況。
錯誤 0030 無法下載檔案時,就會發生例外狀況。
錯誤 0002 如果有一或多個參數無法剖析或從指定的類型轉換成目標方法所需的類型,就會發生例外狀況。
錯誤 0009 如果指定的 Azure 儲存體帳戶名稱或容器名稱不正確,就會發生例外狀況。
錯誤 0048 無法開啟檔案時,就會發生例外狀況。
錯誤 0046 無法在指定的路徑上建立目錄時,就會發生例外狀況。
錯誤 0049 無法剖析檔案時,就會發生例外狀況。

如需 Studio (傳統) 模組特定的錯誤清單,請參閱 機器學習錯誤碼

如需 API 例外狀況的清單,請參閱 機器學習 REST API 錯誤碼

另請參閱

匯入資料
匯出資料
透過 HTTP 從 Web URL 匯入
從 Hive 查詢匯入
從 Azure SQL Database 匯入
從 Azure Blob 儲存體匯入
從資料摘要提供者匯入
從內部部署 SQL Server 資料庫匯入