匯入資料
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
從網路上的外部來源載入資料;從 Azure 中各種形式的雲端式儲存體,例如資料表、Blob 和SQL資料庫,以及從內部部署SQL Server資料庫
類別: 資料輸入和輸出
模組概觀
本文說明如何使用 機器學習 Studio 中的匯入資料模組, (傳統) ,將資料載入現有雲端資料服務的機器學習實驗。
模組現在提供精靈,協助您選擇儲存體選項,並從現有的訂用帳戶和帳戶中選取,以快速設定所有選項。 需要編輯現有的資料連線嗎? 沒有問題;精靈會載入所有先前的組態詳細資料,因此您不需要從頭重新開始。
定義您想要的資料並聯機到來源之後,匯入資料會根據它所包含的值推斷每個資料行的資料類型,並將資料載入您的 機器學習 Studio (傳統) 工作區。 匯入 資料的 輸出是可與任何實驗搭配使用的資料集。
重要
目前,支援的儲存體帳戶類型有一個限制。 如需詳細資訊,請參閱 技術注意事項。
如果您的來源資料變更,您可以重新整理資料集,並重新執行匯入資料來新增 資料。 不過,如果您不想每次執行實驗時從來源重新讀取,請選取 [ 使用快取的結果 ] 選項設為 TRUE。 選取此選項時,模組會檢查實驗是否先前使用相同的來源和相同的輸入選項來執行。 如果找到先前的執行,則會使用快取中的資料,而不是從來源重新載入資料。
注意
此課程模組先前名為 Reader。 如果您先前在實驗中使用 讀取器 模組,則會在重新整理實驗時重新命名為匯入 資料 。
資料來源
匯入 資料 模組支援下列資料來源。 按一下連結,以取得使用每個資料來源的詳細指示和範例。
如果您不確定資料儲存的方式或位置,請參閱資料科學程式中的常見資料案例指南:機器學習中進階分析的案例。
資料來源 | 搭配使用項目 |
---|---|
透過 HTTP 的 Web URL | 取得 Web URL 上裝載的資料,該 URL 使用 HTTP 且已在 CSV、TSV、ARFF 或 SvmLight 格式中提供 |
Hive 查詢 | 從 Hadoop 中的分散式儲存體取得資料。 您可以使用 HiveQL 語言來指定所需的資料 |
Azure SQL Database | 從Azure SQL Database或從Azure SQL Data Warehouse取得資料 |
Azure 資料表 | 取得儲存在 Azure 資料表服務中的資料 |
從 Azure Blob 儲存體 匯入 | 取得儲存在 Azure Blob 服務中的資料 |
資料摘要提供者 | 取得以 OData 格式公開為摘要的資料 |
從內部部署SQL Server資料庫匯入 | 使用 Microsoft 資料管理 閘道從內部部署SQL Server資料庫取得資料 |
Azure Cosmos DB | 取得以 JSON 格式儲存在 Azure Cosmos DB 中的資料。 |
提示
需要以 JSON 格式匯入資料嗎? R 和 Python 都支援 REST API,因此請使用執行 Python 腳本或執行 R 腳本模組來剖析您的資料,並將其儲存為 Azure ML資料集。
或者,使用適用于 CosmosDB 的 SQL DB API,其支援多個 JSON 存放區,包括 MongoDB,使用[從 Azure Cosmos DB匯入] 選項讀取您的資料。 如需詳細資訊,請參閱從 Azure Cosmos DB 匯入。
如何使用匯入資料
將匯入 資料 模組新增至您的實驗。 您可以在 Studio (傳統) 的 [資料輸入和輸出 ] 類別中找到此課程模組。
按一下 [啟動資料匯入精靈 ] 以使用精靈設定資料來源。
精靈會取得帳戶名稱和認證,並協助您設定其他選項。 如果您要編輯現有的組態,它會先載入目前的值。
如果您不想使用精靈,請按一下 [資料來源],然後選擇您要讀取的雲端式儲存體類型。
其他設定取決於您選擇的儲存體類型,以及儲存體是否受到保護。 您可能需要提供帳戶名稱、檔案類型或認證。 某些來源不需要驗證;對於其他人,您可能需要知道帳戶名稱、金鑰或容器名稱。
如需詳細資訊,請參閱 資料來源清單。
如果您想要快取資料集以供後續執行重複使用,請選取 [ 使用快取的結果 ] 選項。
假設模組參數沒有其他變更,實驗只會在第一次執行模組時載入資料,之後再使用快取的資料集版本。
如果您需要在每次執行實驗時重載資料,請取消選取此選項。
執行實驗。
當 匯入資料 載入 Studio (傳統) 時,它會根據包含數值或類別的值來推斷每個資料行的資料類型。
如果標頭存在,則使用標頭來命名輸出資料集的資料行。
如果資料中沒有現有的資料行標頭,則會使用格式 col1、col2、... ,coln.
結果
匯入完成時,按一下輸出資料集,然後選取 [ 視覺化 ] 以查看資料是否已成功匯入。
如果您想要儲存資料以供重複使用,而不是每次執行實驗時匯入一組新的資料,請以滑鼠右鍵按一下輸出,然後選取 [ 另存新資料集]。 選擇資料集的名稱。 儲存的資料集會在儲存時保留資料,而且即使實驗中的資料集變更,也不會在實驗中重新執行時更新資料。 這可用於擷取資料的快照集。
匯入資料後,可能需要為模型化和分析做好一些額外的準備:
使用 [選取資料集中的資料行],來選取要在模型化中轉換或使用的資料行子集。 使用 [ 加入 資料行] 模組或聯結資料模組,可以輕鬆地重新加入原始資料集的已轉換或移除 的資料 行。
使用套用SQL轉換,使用 SQL 語句來匯總資料、篩選或轉換。
使用這些模組來清除文字資料行並產生新的文字功能:
- 前置處理文字
- 從文字擷取 N-Gram 特徵
- 具名實體辨識
- 執行 Python 腳本,以根據 nltk實作自訂 NLP。
技術說明
本節提供 匯入資料 模組的已知問題清單,以及一些非來源類型特定的一般疑難排解資訊。
支援的帳戶類型
Azure 通常會發行新的服務或新的儲存體類型;不過,在 機器學習 Studio (傳統) 中實作新帳戶類型的支援時,通常會有延遲。
目前,機器學習支援所有一般用途儲存體帳戶,但使用區域備援儲存體 (ZRS) 的儲存體帳戶除外。
支援本地備援儲存體 (LRS) 和異地備援儲存體選項。
支援區塊 Blob,但不支援附加 Blob。
常見問題
本節說明一些已知問題、常見問題和因應措施。
標頭必須是單一資料列
如果您要從 CSV 檔案匯入,請注意機器學習允許單一標頭資料列。 您無法插入多行標頭。
匯入時支援的自訂分隔符號,但不支援匯出
匯入 資料 模組支援匯入使用替代資料行分隔符號的資料,例如分號 (;) ,通常用於歐洲。 當您從外部儲存體中的 CSV 檔案匯入資料時,請選取 [具有編碼 方式的 CSV] 選項,然後挑選支援的編碼方式。
不過,當您準備使用 [轉換為 CSV ] 模組匯出的資料時,無法產生替代分隔符號。
包含逗號之字串資料的資料行分隔不佳
您也可以在文字欄位中隨機找到每個可以指定為數據行分隔符號 (索引標籤、空格、逗號等字元。) 。 從 CSV 匯入文字一律需要注意,以避免將文字分隔到不必要的新資料行。 在文字處理中,您可能會以不同方式遇到並處理常見問題。
當您嘗試匯出包含逗號的字串資料行時,也可能會發生問題。 機器學習不支援這類資料的任何特殊處理或特殊轉譯,例如以引號括住字串。 此外,您無法在逗號之前使用逸出字元,以確保逗號會以常值字元處理。 因此,系統會針對字串欄位中遇到的每個逗號,在輸出檔中建立新的欄位。
若要避免匯出時發生問題,請使用 前置處理文字 模組,從字串欄位移除標點符號字元。
您也可以使用自訂 R 腳本 或 Python 腳本 來處理複雜的文字,並確保資料可以正確匯入或匯出。
需要 UTF-8 編碼
機器學習需要 UTF-8 編碼。 如果您要匯入的資料使用不同的編碼方式,或從使用不同預設編碼方式的資料來源匯出,則文字中可能會出現各種問題。
例如,下圖包含從 Excel 匯出的相同多語言資料集,然後在四種不同的檔案類型和編碼組合下匯入機器學習。
第三個範例代表從 CSV 格式儲存期間遺失的資料Excel,因為當時未指定正確的編碼方式。 因此,如果您遇到問題,請務必檢查您匯入來源的檔案,以及檔案是否從來源正確匯出。
資料集沒有資料行名稱
如果您要匯入的資料集沒有資料行名稱,請務必指定其中一個「沒有標頭」選項。 當您這樣做時, 匯入資料 會使用 Col1、Col2 等格式新增預設資料行名稱。 稍後,使用 [編輯中繼資料 ] 修正資料行名稱。
如果您要將資料集匯出至 CSV 檔案,請使用 [編輯中繼資料 ] 在轉換或匯出資料行名稱之前新增資料行名稱。
不支援資料來源的因應措施
如果您需要從不在清單中的來源取得資料,您可以嘗試各種因應措施:
若要從電腦上的檔案上傳資料 ,請按一下 [ 在 Studio 中新增] (傳統) ,選取 [ 資料集],然後選取 [ 從本機檔案]。 找出檔案,並指定 TSV、CSV 等 (格式。) 。 如需詳細資訊,請參閱 將定型資料匯入 Studio (傳統) 。
使用 R 或 Python。 您可以使用 執行 R 腳本 模組搭配適當的 R 套件,從其他雲端資料庫取得資料。
執行 Python 腳本模組也可讓您從各種來源讀取和轉換資料。 請參閱 Cortana Intelligence 資源庫中的 Microsoft 資料科學家的這些範例:
從 AWS 叢集取得資料。 您可以針對已啟用 WebHCat 或 HCatalog 端點的一般 Hive 叢集執行查詢。 或發佈為頁面,並從 Web URL 讀取。
從MongoDB取得資料。 Azure Cosmos DB 的資料移轉公用程式支援各種不同的來源和格式。 如需詳細資訊和範例,請參閱Azure Cosmos DB:資料移轉工具
如需更多想法和因應措施,請參閱機器學習 論壇或Azure AI 資源庫。
模組參數
每個資料來源都必須使用不同的選項來設定。 下表只列出所有資料來源通用的選項。
名稱 | 範圍 | 類型 | 預設 | 描述 |
---|---|---|---|---|
資料來源 | List | 資料來源或接收 | Azure 儲存體中的 Blob 服務 | 資料來源可以是 HTTP、匿名 HTTPS、Blob 服務或資料表服務中的檔案、Azure 中的SQL資料庫、Azure SQL Data Warehouse、Hive 資料表或 OData 端點。 |
使用快取的結果 | TRUE/FALSE | Boolean | FALSE | 如果為 TRUE,則模組會檢查實驗是否先前使用相同的來源和相同的輸入選項來執行,如果找到先前的執行,則會使用快取中的資料。 如果為 FALSE,或找到變更,則會從來源重載資料。 |
輸出
名稱 | 類型 | 描述 |
---|---|---|
結果資料集 | 資料表 | 含下載資料的資料集 |
例外狀況
例外狀況 | 描述 |
---|---|
錯誤 0027 | 當兩個物件的大小必須相同但卻不同時,就會發生例外狀況。 |
錯誤 0003 | 如果一或多個輸入是 Null 或空白,就會發生例外狀況。 |
錯誤 0029 | 傳遞無效的 URI 時,就會發生例外狀況。 |
錯誤 0030 | 無法下載檔案時,就會發生例外狀況。 |
錯誤 0002 | 如果有一或多個參數無法剖析或從指定的類型轉換成目標方法所需的類型,就會發生例外狀況。 |
錯誤 0009 | 如果指定的 Azure 儲存體帳戶名稱或容器名稱不正確,就會發生例外狀況。 |
錯誤 0048 | 無法開啟檔案時,就會發生例外狀況。 |
錯誤 0015 | 如果資料庫連線失敗,就會發生例外狀況。 |
錯誤 0046 | 無法在指定的路徑上建立目錄時,就會發生例外狀況。 |
錯誤 0049 | 無法剖析檔案時,就會發生例外狀況。 |
如需 Studio (傳統) 模組特有的錯誤清單,請參閱錯誤碼機器學習。
如需 API 例外狀況的清單,請參閱機器學習 REST API 錯誤碼。