共用方式為


從 Azure SQL Database 匯入

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

本文說明如何使用機器學習 Studio (傳統) 中的 [匯入資料] 模組,從 Azure SQL Database 或 Azure SQL Data Warehouse 取得資料。

注意

適用于僅限機器學習 Studio (傳統)

Azure Machine Learning 設計工具中提供類似的拖放模組。

若要從資料庫匯入資料,您必須同時指定伺服器名稱和資料庫名稱,以及定義資料表、視圖或查詢的 SQL 語句。

一般情況下,將資料儲存在 Azure 資料庫中的成本會比在 Azure 中使用資料表或 blob 更高。 視您的訂用帳戶類型而定,您可以儲存在資料庫中的資料量也可能有所限制。 不過,SQL Azure 資料庫不會有任何交易費用,因此該選項最適合用來快速存取較少量的常用資訊,例如資料查閱資料表或資料字典。

如果您需要能夠在讀取資料之前先篩選資料,或者您想要將預測或計量儲存回資料庫以進行報告,也建議您將資料儲存在 Azure 資料庫中。

如何從 Azure SQL Database 或 SQL Data Warehouse 匯入資料

使用資料匯入嚮導

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

  1. 將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 [ 資料輸入] 和 [輸出 ] 分類中,找到 Studio (傳統) 中的模組。

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

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

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

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

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

  1. 將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 Studio (傳統) 的 [ 資料輸入和輸出 ] 類別中找到此模組。

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

  3. 設定下列 Azure SQL Database 或 Azure SQL Data Warehouse 特有的選項。

    資料庫伺服器名稱:輸入 Azure 所產生的伺服器名稱。 其格式通常為 <generated_identifier>.database.windows.net

    資料庫名稱:在您剛剛指定的伺服器上輸入現有資料庫的名稱。

    伺服器使用者帳戶名稱:輸入具有資料庫存取權限之帳戶的使用者名稱。

    伺服器使用者帳戶密碼:提供指定之使用者帳戶的密碼。

    資料庫查詢:輸入或貼上描述您想要讀取之資料的 SQL 語句。 一律驗證 SQL 語句,並預先驗證查詢結果(使用 Visual Studio 伺服器總管或 SQL Server Data Tools 等工具)。

    注意

    入資料模組僅支援輸入資料庫名稱、使用者帳戶名稱和密碼做為認證。

  4. 如果您讀入機器學習的資料集不需要在實驗執行之間變更,請選取 [使用快取的結果] 選項。

    選取此選項時,如果模組參數沒有其他變更,則實驗會在第一次執行模組時載入資料,之後則會使用資料集的快取版本。

    如果您想要在實驗的每個反復專案上重新載入資料集,請取消選取此選項。 每次匯 入資料中的任何參數變更時,就會重載來源的資料集。

  5. 執行實驗。

    由於匯 入資料 會將資料載入 Studio (傳統) ,因此可能也會根據源資料庫中使用的資料類型來執行某些隱含類型轉換。

結果

匯入完成時,請按一下輸出資料集,然後選取 [ 視覺化 ] 以查看資料是否已成功匯入。

(選擇性)您可以使用 Studio 中的工具 (傳統) 來變更資料集和其中繼資料:

  • 您可以使用 [ 編輯中繼資料 ] 來變更資料行名稱、將資料行轉換成不同的資料類型,或指出哪些資料行是標籤或特徵。

  • 使用 [ 選取資料集中的資料行 ],即可選取資料行的子集。

  • 使用資料 分割和範例 以依準則分隔資料集,或取得前 n 個數據列。

範例

如需如何在機器學習中使用 Azure 資料庫資料的範例,請參閱下列文章和實驗:

技術說明

本節包含實作詳細資料、提示和常見問題集的解答。

常見問題

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

入資料 模組不支援在讀取資料時進行篩選。 建議您建立一個視圖,或定義只產生您需要之資料列的查詢。

注意

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

為什麼我會收到錯誤「不支援十進位類型」?

從 SQL 資料庫讀取資料時,您可能會遇到報告不支援資料類型的錯誤訊息。

如果您從 SQL 資料庫取得的資料包含機器學習不支援的資料類型,您應該先將小數轉換成支援的資料,或將其轉換為支援的資料,再讀取資料。 匯入資料無法自動執行任何會導致失去精確度的轉換。

如需支援的資料類型的詳細資訊,請參閱 模組資料類型

如果資料庫位於不同的地理區域,會發生什麼事。 匯入資料仍可存取資料庫嗎? 儲存資料的位置?

如果資料庫與機器學習服務帳戶位於不同的區域,則資料存取可能會變慢。 此外,如果計算節點與儲存體帳戶位於不同的區域,則會向您收取在訂用帳戶上的資料輸入和輸出費用。

您讀入實驗工作區的資料會儲存在與實驗相關聯的儲存體帳戶中。

為什麼某些字元未正確顯示?

機器學習支援 utf-8 編碼。 如果您資料庫中的字串資料行使用不同的編碼方式,則字元可能無法正確匯入。

其中一個選項是將資料匯出至 Azure 儲存體中的 CSV 檔案,並使用選項 CSV 搭配編碼 來指定自訂分隔符號、字碼頁等的參數。

模組參數

名稱 範圍 類型 預設 描述
資料來源 List 資料來源或接收 Azure Blob 儲存體 資料來源可以是 HTTP、FTP、匿名 HTTPS 或 FTPS、azure BLOB 儲存體中的檔案、azure 資料表、Azure SQL Database、內部部署的 SQL Server 資料庫、Hive 資料表或 OData 端點。
HDFS 伺服器 URI 任意 String HDFS rest 端點
資料庫伺服器名稱 任意 String Azure 儲存體帳戶名稱
資料庫名稱 任意 SecureString Azure 儲存體金鑰
伺服器使用者帳戶名稱 任意 String Azure 容器名稱
伺服器使用者帳戶名稱 清單 (子集) Url 內容 OData 資料格式類型
資料庫查詢 任意 String 資料格式類型
使用快取的結果 TRUE/FALSE Boolean FALSE description

輸出

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

例外狀況

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

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

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

另請參閱

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