從 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 取得資料。
若要從資料庫匯入資料,您必須同時指定伺服器名稱和資料庫名稱,以及定義資料表、視圖或查詢的 SQL 語句。
一般情況下,將資料儲存在 Azure 資料庫中的成本會比在 Azure 中使用資料表或 blob 更高。 視您的訂用帳戶類型而定,您可以儲存在資料庫中的資料量也可能有所限制。 不過,SQL Azure 資料庫不會有任何交易費用,因此該選項最適合用來快速存取較少量的常用資訊,例如資料查閱資料表或資料字典。
如果您需要能夠在讀取資料之前先篩選資料,或者您想要將預測或計量儲存回資料庫以進行報告,也建議您將資料儲存在 Azure 資料庫中。
如何從 Azure SQL Database 或 SQL Data Warehouse 匯入資料
使用資料匯入嚮導
此課程模組提供新的 wizard,可協助您選擇儲存選項、從現有的訂用帳戶和帳戶中選取,以及快速設定所有選項。
將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 [ 資料輸入] 和 [輸出 ] 分類中,找到 Studio (傳統) 中的模組。
按一下 [ 啟動匯入資料] ,並遵循提示進行。
設定完成時,若要實際將資料複製到您的實驗中,請以滑鼠右鍵按一下模組,然後選取 [ 執行選取的]。
如果您需要編輯現有的資料連線,則嚮導會載入所有先前的設定詳細資料,讓您不必從頭重新開始
在 [匯入資料] 模組中手動設定屬性
下列步驟描述如何手動設定匯入來源。
將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 Studio (傳統) 的 [ 資料輸入和輸出 ] 類別中找到此模組。
針對 [資料來源],選取 [ Azure SQL Database]。
設定下列 Azure SQL Database 或 Azure SQL Data Warehouse 特有的選項。
資料庫伺服器名稱:輸入 Azure 所產生的伺服器名稱。 其格式通常為
<generated_identifier>.database.windows.net
。資料庫名稱:在您剛剛指定的伺服器上輸入現有資料庫的名稱。
伺服器使用者帳戶名稱:輸入具有資料庫存取權限之帳戶的使用者名稱。
伺服器使用者帳戶密碼:提供指定之使用者帳戶的密碼。
資料庫查詢:輸入或貼上描述您想要讀取之資料的 SQL 語句。 一律驗證 SQL 語句,並預先驗證查詢結果(使用 Visual Studio 伺服器總管或 SQL Server Data Tools 等工具)。
注意
匯入資料模組僅支援輸入資料庫名稱、使用者帳戶名稱和密碼做為認證。
如果您讀入機器學習的資料集不需要在實驗執行之間變更,請選取 [使用快取的結果] 選項。
選取此選項時,如果模組參數沒有其他變更,則實驗會在第一次執行模組時載入資料,之後則會使用資料集的快取版本。
如果您想要在實驗的每個反復專案上重新載入資料集,請取消選取此選項。 每次匯 入資料中的任何參數變更時,就會重載來源的資料集。
執行實驗。
由於匯 入資料 會將資料載入 Studio (傳統) ,因此可能也會根據源資料庫中使用的資料類型來執行某些隱含類型轉換。
結果
匯入完成時,請按一下輸出資料集,然後選取 [ 視覺化 ] 以查看資料是否已成功匯入。
(選擇性)您可以使用 Studio 中的工具 (傳統) 來變更資料集和其中繼資料:
您可以使用 [ 編輯中繼資料 ] 來變更資料行名稱、將資料行轉換成不同的資料類型,或指出哪些資料行是標籤或特徵。
使用 [ 選取資料集中的資料行 ],即可選取資料行的子集。
使用資料 分割和範例 以依準則分隔資料集,或取得前 n 個數據列。
範例
如需如何在機器學習中使用 Azure 資料庫資料的範例,請參閱下列文章和實驗:
零售預測步驟1之 6-資料前置處理:零售預測範本說明使用儲存在 Azure SQLDB 中的資料來進行分析的一般案例。
它也會示範一些實用的技術,例如使用 Azure SQLDB 在不同帳戶中的實驗之間傳遞資料集、儲存和合併預測,以及如何建立適用于機器學習的 Azure SQLDB。
搭配使用機器學習與 SQL Data Warehouse:本文將示範如何使用 Azure SQL Data Warehouse 建立回歸模型來預測價格。
如何搭配使用 Azure ML 與 Azure SQL Data Warehouse:這篇文章使用匯入資料和匯出資料與 Azure SQL Data Warehouse,在 AdventureWorks 上建立群集模型。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
常見問題
是否可以在從來源讀取資料時篩選資料?
匯 入資料 模組不支援在讀取資料時進行篩選。 建議您建立一個視圖,或定義只產生您需要之資料列的查詢。
注意
如果您發現您所載入的資料超過您的需要,您可以讀取新的資料集,並使用與舊有、較大的資料相同的名稱加以儲存,以覆寫快取資料集。
為什麼我會收到錯誤「不支援十進位類型」?
從 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 資料庫匯入