從資料摘要提供者匯入
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
本文說明如何使用機器學習 Studio (傳統) 中的「匯入資料」模組,將 OData 格式提供的資料匯入機器學習實驗。
建立資料集的 OData 端點是讓資料模型可透過 URL 使用的一種方式。 您也可以指定端點將支援的 OData 作業。 如需有關建立 Odata
端點的詳細資訊,請參閱OData v4 (ASP.NET) 。
如何從饋送匯入資料
強烈建議您在匯入前先分析資料,以確保架構如預期般運作。 匯入程式會掃描部分的標頭資料列來判斷架構,但之後的資料列可能會包含額外的資料行或造成錯誤的資料。
使用資料匯入嚮導
此課程模組提供新的 wizard,可協助您選擇儲存體選項。 使用嚮導從現有的訂用帳戶和帳戶中選取,並快速設定所有選項。
將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 [ 資料輸入] 和 [輸出 ] 分類中,找到 Studio (傳統) 中的模組。
按一下 [ 啟動匯入資料] ,並遵循提示進行。
設定完成時,若要實際將資料複製到您的實驗中,請以滑鼠右鍵按一下模組,然後選取 [ 執行選取的]。
如果您需要編輯現有的資料連線,則嚮導會載入所有先前的設定詳細資料,如此一來,您就不需要從頭開始。
在 [匯入資料] 模組中手動設定屬性
您也可以手動設定匯入來源。
將 [匯 入資料 ] 模組新增至您的實驗。 您可以在 Studio (傳統) 的 [ 資料輸入和輸出 ] 類別中找到此模組。
針對 [ 資料來源],選取 [ 資料摘要提供者]。
針對 [ 資料內容類型],選取摘要的類型。 目前只支援 OData 端點。
針對 [ 來源 url],貼上提供所需格式之資料的網站 URL。
例如,下列語句會取得 Northwind 範例資料庫中的產品清單:
https://services.odata.org/northwind/northwind.svc/Products
如需詳細資訊,請參閱 OData 語法。
如果您不需要在第一次之後重新載入資料,請選取 [使用快取的 結果 ] 選項。 如果資料不應該在實驗執行之間變更,這是很好的選項。
如果模組參數沒有其他變更,則實驗會在第一次執行模組時載入資料,之後會使用資料集的快取版本。
如果您需要定期重新整理資料,請取消選取此選項。
執行實驗。
結果
完成時,按一下輸出資料集,然後選取 [ 視覺化 ] 以查看資料是否已成功匯入。
當匯 入資料 將摘要資料載入 Studio (傳統) 中時,它會根據所包含的值(數值或類別)推斷每個資料行的資料類型。
如果標頭存在,則使用標頭來命名輸出資料集的資料行。
如果資料中沒有現有的資料行標頭,則會使用格式
col1, col2,… ,coln
產生新的資料行名稱。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
OData 語法
查詢必須傳回平面資料表。 不支援簡維的內嵌 OData 記錄。
OData 摘要中包含的某些資料行可能會有 Studio (傳統) 中不支援的資料類型,例如小數。 您可以使用 [ 執行 R 腳本 ] 或 [ 中繼資料編輯器 ] 模組,將資料內嵌為字串,稍後再轉換它們。
如需 OData 語法和 Url 的詳細資訊,請參閱 Odata.org-uri 慣例
常見問題
是否可以在從來源讀取資料時篩選資料?
匯 入資料 模組通常不支援在讀取資料時進行篩選。 不過,您可以指定篩選準則做為摘要資源 URL 的一部分。
若要篩選摘要中的資料,請使用 OData 通訊協定支援的語句。 例如,此 URL 會使用 $filter
運算式,只取得 ID 等於1之員工的相關訂單。
https://services.odata.org/Northwind/Northwind.svc/Orders?$filter=Employee/EmployeeID eq 1
如需篩選語法的更多範例,請參閱 在 OData uri 中使用篩選條件運算式。
或者,您可以在將資料載入機器學習 Studio (傳統) 之後,取得所有資料並加以篩選:
使用自訂的 R 腳本,只取得您想要的資料。
使用「 分割資料 」模組搭配相對運算式或正則運算式來隔離您要的資料,然後將它儲存為資料集。
注意
如果您發現您所載入的資料超過您的需要,您可以讀取新的資料集,並使用與舊有、較大的資料相同的名稱加以儲存,以覆寫快取資料集。
我收到錯誤,需要認證才能連接到 OData 來源。 請重新整理並提供認證以繼續。 如何提供認證? * *
「匯 入資料 」模組僅支援具有匿名存取的 OData 端點。 如果 OData 服務需要認證,您就無法使用 OData 選項來取得資料。
但是,如果服務位於相同的網域,則有時會自動進行驗證,而不需要任何使用者輸入。
因應措施是,您可以使用 PowerQuery 或 PowerPivot 來讀取摘要資料,然後從 Excel 取得資料。
如何避免不必要地重新載入相同的資料?
如果您的來源資料有所變更,您可以重新整理資料集,並藉由重新執行匯 入資料來加入新的資料。 但是,如果您不想要在每次執行實驗時從來源重新讀取,請選取 [使用快取的 結果 ] 選項為 [TRUE]。 當此選項設定為 TRUE 時,模組會檢查實驗是否先前使用相同的來源和相同的輸入選項來執行,如果找到上一個執行,則會使用快取中的資料,而不是從來源重新載入資料。
為什麼我會收到「不支援十進位類型」的錯誤訊息?
decimal
機器學習不支援資料類型。 原因是匯 入資料 無法自動執行任何會導致失去精確度的轉換。
如需支援的資料類型的詳細資訊,請參閱 模組資料類型。
因應措施是,您可以將資料讀取為字串資料類型,然後使用 [ 編輯中繼資料 ] 將小數轉換成支援的資料,然後再讀取資料。
為什麼摘要中的某些字元未正確顯示?
機器學習支援 utf-8 編碼。 如果您的來源使用另一種編碼類型,字元可能無法正確匯入。
因應措施是,您可以將資料儲存至 Azure 資料表儲存體或 Azure blob 儲存體中的 CSV 檔案。 然後,使用選項 CSV 搭配編碼 來指定自訂分隔符號、字碼頁等的參數。
模組參數
名稱 | 範圍 | 類型 | 預設 | 描述 |
---|---|---|---|---|
資料來源 | List | 資料來源或接收 | Azure Blob 儲存體 | 資料來源可以是 HTTP、FTP、匿名 HTTPS 或 FTPS、azure BLOB 儲存體中的檔案、azure 資料表、Azure SQL Database、內部部署的 SQL Server 資料庫、Hive 資料表或 OData 端點。 |
資料內容類型 | 清單 (子集) | Url 內容 | OData | 資料格式類型 |
來源 URL | 任意 | String | Power Query 資料來源的 URL | |
使用快取的結果 | TRUE/FALSE | Boolean | FALSE | description |
輸出
名稱 | 類型 | 說明 |
---|---|---|
結果資料集 | 資料表 | 含下載資料的資料集 |
例外狀況
例外狀況 | 描述 |
---|---|
錯誤 0003 | 如果一或多個輸入是 Null 或空白,就會發生例外狀況。 |
錯誤 0029 | 傳遞無效的 URI 時,就會發生例外狀況。 |
錯誤 0030 | 無法下載檔案時,就會發生例外狀況。 |
錯誤 0002 | 如果有一或多個參數無法剖析或從指定的類型轉換成目標方法所需的類型,就會發生例外狀況。 |
如需 Studio (傳統) 模組特定的錯誤清單,請參閱機器學習錯誤碼。
如需 API 例外狀況的清單,請參閱機器學習 REST API 錯誤碼。
另請參閱
匯入資料
匯出資料
透過 HTTP 從 Web URL 匯入
從 Hive 查詢匯入
從 Azure SQL Database 匯入
從 Azure 資料表匯入
從 Azure Blob 儲存體匯入
從內部部署 SQL Server 資料庫匯入