匯出至 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 Database 或 Azure SQL Data Warehouse 時,此選項非常有用。

注意

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

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

匯出至 SQL 資料庫在許多機器學習案例中很有用:例如,您可能想要儲存中繼結果、儲存分數或保存設計功能的資料表。 雖然在 Azure SQL Database 或 Azure SQL Data Warehouse 中儲存資料的成本可能比在 Azure 中使用資料表或 blob 更昂貴,但 SQL 資料庫不會產生任何交易費用。 此外,資料庫儲存體非常適合用來快速撰寫較少量的常用資訊,以便在實驗之間共用資料,或是用於報告結果、預測和計量。

另一方面,您可以儲存在資料庫中的資料量可能會有限制,視您的訂用帳戶類型而定。 您也應該考慮使用與機器學習工作區位於相同區域的資料庫和帳戶。

若要匯出資料,請提供儲存資料所在的實例名稱和資料庫名稱,並使用具有寫入權限的帳戶來執行模組。 您也必須指定資料表名稱,並將實驗中的資料行對應至資料表中的資料行。

如何將資料匯出至 Azure SQL Database

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

  2. 連線將資料匯出至模組,以產生您要匯出的資料。

  3. 針對 [資料目的地],選取 [ Azure SQL Database]。 此選項也支援 Azure SQL Data Warehouse。

  4. 指出 Azure SQL Database 中的伺服器和資料庫名稱,或 Azure SQL Data Warehouse。

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

    資料庫名稱:在您剛剛指定的伺服器上輸入現有資料庫的名稱。 「 匯出資料 」模組無法建立資料庫。

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

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

  5. 指定要匯出的資料行,以及是否要重新命名資料行。

    要儲存的資料行清單(以逗號分隔):輸入您想要寫入資料庫之實驗中的資料行名稱。

    資料表名稱:輸入用來儲存資料的資料表名稱。

    針對 Azure SQL Database,如果資料表不存在,就會建立新的資料表。

    針對 Azure SQL Data Warehouse,資料表必須已經存在且具有正確的架構,因此請務必事先建立。

    Datatable 資料行的逗號分隔清單:輸入您想要在目的地資料表中顯示的資料行名稱。

    針對 Azure SQL Database,您可以變更資料行名稱,但您必須將資料行的順序保持在您列出要匯出的資料行的相同順序中,並以逗號分隔的資料行清單儲存

    針對 Azure SQL Data Warehouse,資料行名稱必須與已經在目的地資料表架構中的名稱相符。

  6. 每個 SQL Azure 作業所寫入的資料列數目:此選項會指定要在每個批次中寫入目的地資料表的資料列數目。

    根據預設,值會設定為50,這是 Azure SQL Database 的預設批次大小。 但是,如果您有大量的資料列要寫入,您應該增加這個值。

    針對 Azure SQL Data Warehouse,建議您將此值設定為1。 如果您使用較大的批次大小,傳送至 Azure SQL Data Warehouse 的命令字串大小可能會超過允許的字串長度,而導致錯誤。

  7. 使用快取的結果:選取此選項可避免在每次執行實驗時寫入新的結果。 如果模組參數沒有其他變更,則實驗只會在第一次執行模組時寫入資料。 但是,如果 匯出資料 中有變更結果的任何參數,一律會執行新的寫入。

  8. 執行實驗。

範例

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

技術說明

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

常見問題

在不同的地理區域中使用資料庫

如果 Azure SQL Database 或 SQL Data Warehouse 與機器學習服務帳戶位於不同的區域,寫入可能會較慢。

此外,如果計算節點與儲存體帳戶位於不同的區域,則會向您收取在訂用帳戶上的資料輸入和輸出費用。

為什麼輸出資料中的某些字元未正確顯示

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

此外,機器學習無法輸出資料類型(例如 money )。

模組參數

名稱 範圍 類型 預設 描述
資料來源 List 資料來源或接收 Azure Blob 儲存體 資料來源可以是 HTTP、FTP、匿名 HTTPS 或 FTPS、azure BLOB 儲存體中的檔案、azure 資料表、Azure SQL Database 或 Azure SQL Data Warehouse、Hive 資料表或 OData 端點。
資料庫伺服器名稱 任意 String
資料庫名稱 任意 String
伺服器使用者帳戶名稱 任意 String
伺服器使用者帳戶密碼
要儲存之資料行的逗號分隔清單
資料表名稱 任意 String
Datatable 資料行的逗號分隔清單 String String String
每個 SQL Azure 作業寫入的資料列數目 String 整數 50 String
使用快取的結果 TRUE/FALSE Boolean FALSE 只有在有效的快取不存在時才會執行模組;否則,請使用先前執行的快取資料。

例外狀況

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

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

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

另請參閱

匯入資料
匯出資料
匯出至 Azure Blob 儲存體
匯出至 Hive 查詢
匯出至 Azure 資料表