從內部部署 SQL Server 資料庫匯入
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
本文說明如何使用機器學習 Studio (傳統) 中的 [匯入資料] 模組,將資料從內部部署 SQL Server 資料庫匯入至機器學習實驗。
如果使用 Microsoft 資料管理閘道來提供資料,機器學習可以存取內部部署 SQL Server 資料庫。 因此,在您使用匯 入資料之前,您必須符合下列需求:
- 安裝可存取資料來源的Microsoft 資料管理閘道
- 在您的機器學習工作區中註冊閘道
- 設定匯 入資料 以識別閘道
建立閘道連線之後,您就可以指定其他屬性,例如伺服器和資料庫名稱、驗證方法和資料庫查詢。
如何安裝 Microsoft 資料管理閘道
若要存取機器學習中的內部部署 SQL Server 資料庫,您必須下載並安裝Microsoft 資料管理閘道,然後在機器學習 Studio (傳統) 中註冊閘道。
如需安裝和註冊閘道的詳細資訊,請參閱下列文章:
如何從內部部署 SQL Server 資料庫匯入資料
在資料管理閘道安裝在可存取您 SQL Server 資料庫的電腦上,且您已在機器學習 Studio (傳統) 中註冊閘道之後,您必須設定「匯入資料」模組。
開始之前,請停用瀏覽器的快顯封鎖程式(網站) studio.azureml.net
。
如果您使用 Google Chrome 瀏覽器,您必須下載並安裝 Google Chrome WebStore 上可用的其中一個外掛程式: 按一下 [應用程式擴充功能]。
使用資料匯入嚮導
此課程模組提供新的 wizard,可協助您選擇儲存選項、從現有的訂用帳戶和帳戶中選取,以及快速設定所有選項。
將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 [ 資料輸入] 和 [輸出 ] 分類中,找到 Studio (傳統) 中的模組。
按一下 [ 啟動匯入資料] ,並遵循提示進行。
設定完成時,若要實際將資料複製到您的實驗中,請以滑鼠右鍵按一下模組,然後選取 [ 執行選取的]。
如果您需要編輯現有的資料連線,則嚮導會載入所有先前的設定詳細資料,如此一來,您就不需要從頭開始。
在 [匯入資料] 模組中手動設定屬性
將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 [ 資料輸入] 和 [輸出 ] 分類中,找到 Studio (傳統) 中的模組。
針對 [資料來源],選取 [內部部署 SQL Database]。
設定 SQL Server 資料庫特定的下列選項。
資料閘道:選取您所建立的閘道。 閘道必須註冊或未顯示在清單中。
資料庫伺服器名稱:輸入 SQL Server 實例的名稱。
資料庫名稱:輸入資料庫名稱。
按一下 [使用者名稱和密碼] 下方的 [輸入值],然後輸入資料庫認證。 根據您內部部署 SQL Server 的設定方式而定,您可以使用 Windows 整合式驗證或 SQL Server 驗證。
重要
認證管理員必須從與 SQL Server 實例和閘道用戶端相同的網路內啟動。 無法跨網域傳遞認證。
在資料庫查詢中輸入或貼上 SQL 語句,以描述您要讀取的資料。 一律驗證 SQL 語句,並預先驗證查詢結果(使用 Visual Studio 伺服器總管或 SQL Server Data Tools 等工具)。
如果資料集不需要在實驗執行之間變更,請選取 [使用快取的 結果 ] 選項。 選取此選項時,如果模組參數沒有其他變更,則實驗會在第一次執行模組時載入資料,之後會使用資料集的快取版本。
執行實驗。
結果
由於匯 入資料 會將資料載入 Studio (傳統) 中,因此可能會根據源資料庫中使用的資料類型來執行某些隱含類型轉換。 如需資料類型的詳細資訊,請參閱 模組資料類型。
完成時,按一下輸出資料集,然後選取 [ 視覺化 ] 以查看資料是否已成功匯入。
(選擇性)您可以使用 Studio 中的工具 (傳統) 來變更資料集和其中繼資料:
您可以使用 [ 編輯中繼資料 ] 來變更資料行名稱、將資料行轉換成不同的資料類型,或指出哪些資料行是標籤或特徵。
使用 [ 選取資料集中的資料行 ],即可選取資料行的子集。
使用資料 分割和範例 以依準則分隔資料集,或取得前 n 個數據列。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
常見問題
是否可以在從來源讀取資料時篩選資料?
匯 入資料 模組本身並不支援在讀取資料時進行篩選。 建議您建立一個視圖,或定義只產生您需要之資料列的查詢。
注意
如果您發現您所載入的資料超過您的需要,您可以讀取新的資料集,並使用與舊有、較大的資料相同的名稱加以儲存,以覆寫快取資料集。
為什麼我會收到錯誤「不支援十進位類型」
從 SQL 資料庫讀取資料時,您可能會遇到報告不支援資料類型的錯誤訊息。
如果您從 SQL 資料庫取得的資料包含機器學習不支援的資料類型,您應該先將小數轉換成支援的資料類型,或將其轉換為支援的資料類型,然後再讀取資料。 原因是匯 入資料 無法自動執行任何會導致失去精確度的轉換。
為什麼某些字元未正確顯示
機器學習支援 utf-8 編碼。 如果您資料庫中的字串資料行使用不同的編碼方式,則字元可能無法正確匯入。
保留這些字元的其中一個選項是將資料匯出至 Azure 儲存體中的 CSV 檔案,並使用選項 CSV 搭配編碼 來指定自訂分隔符號、字碼頁等的參數。
我在內部部署伺服器上設定了資料管理閘道。 我可以在工作區之間共用相同的閘道
不會。 您必須為每個工作區建立個別的閘道。
雖然您可以在單一工作區中設定多個資料管理閘道 (例如,每個閘道用於開發、測試、生產等 ) ,但無法跨工作區共用閘道。
我已在內部部署伺服器上設定資料管理閘道,以用於 Power BI 或 Azure Data Factory,並想要使用相同的閘道進行機器學習
每個服務都需要個別的資料管理閘道。 如果您已經有用於 Power BI 或 Azure Data Factory 的閘道,您必須設定個別的伺服器,並安裝適用于機器學習服務的閘道。
您無法在單一伺服器上安裝多個閘道。
我希望能夠將資料匯出至我的內部部署 SQL server。 是否可以搭配使用閘道與匯出資料模組,將資料寫入到內部部署 SQL server?
目前,機器學習僅支援匯入資料。 我們正在評估您未來是否能夠寫入至您的內部部署資料庫。 在此同時,您可以使用 Azure Data Factory 將資料從雲端複製到內部部署資料庫。
我有不 Microsoft SQL Server 的資料來源 (Oracle、Teradata 等 ) 。 我可以使用 [匯入資料] 模組中的 [內部部署] 選項來讀取機器學習中的資料嗎?
機器學習匯入資料模組目前僅支援 Microsoft SQL Server。
因應措施是,您可以使用 Azure Data Factory 將內部部署資料複製到雲端儲存體,例如 Azure Blob 儲存體或 Azure 資料庫,然後在 [匯入資料] 模組中使用您的雲端資料來源。
模組參數
名稱 | 範圍 | 類型 | 預設 | 描述 |
---|---|---|---|---|
資料來源 | List | 資料來源或接收 | Azure Blob 儲存體 | 資料來源可以是 HTTP、FTP、匿名 HTTPS 或 FTPS、azure BLOB 儲存體中的檔案、azure 資料表、Azure SQL Database、內部部署的 SQL Server 資料庫、Hive 資料表或 OData 端點。 |
資料閘道 | 任意 | DataGatewayName | 無 | 資料閘道名稱 |
資料庫伺服器名稱 | 任意 | String | 無 | 內部部署 SQL Server |
資料庫名稱 | 任意 | String | 無 | 內部部署 SQL Server 資料庫實例 |
使用者名稱和密碼 | 任意 | SecureString | 無 | 使用者名稱和密碼 |
資料庫查詢 | 任意 | StreamReader | 無 | 內部部署 SQL 查詢 |
輸出
名稱 | 類型 | 說明 |
---|---|---|
結果資料集 | 資料表 | 含下載資料的資料集 |
例外狀況
例外狀況 | 描述 |
---|---|
錯誤 0027 | 當兩個物件的大小必須相同但卻不同時,就會發生例外狀況。 |
錯誤 0003 | 如果一或多個輸入是 Null 或空白,就會發生例外狀況。 |
錯誤 0029 | 傳遞無效的 URI 時,就會發生例外狀況。 |
錯誤 0030 | 無法下載檔案時,就會發生例外狀況。 |
錯誤 0002 | 如果有一或多個參數無法剖析或從指定的類型轉換成目標方法所需的類型,就會發生例外狀況。 |
錯誤 0048 | 無法開啟檔案時,就會發生例外狀況。 |
錯誤 0015 | 如果資料庫連線失敗,就會發生例外狀況。 |
錯誤 0046 | 無法在指定的路徑上建立目錄時,就會發生例外狀況。 |
錯誤 0049 | 無法剖析檔案時,就會發生例外狀況。 |
如需 Studio (傳統) 模組特定的錯誤清單,請參閱機器學習錯誤碼。
如需 API 例外狀況的清單,請參閱機器學習 REST API 錯誤碼。
另請參閱
匯入資料
匯出資料
透過 HTTP 從 Web URL 匯入
從 Hive 查詢匯入
從 Azure SQL Database 匯入
從 Azure 資料表匯入
從 Azure Blob 儲存體匯入
從資料摘要提供者匯入