mltable 套件
包含與現有和建立新 MLTable 檔案互動的功能。
透過 mltable 套件,您可以在任何 Python 環境中載入、轉換和分析數據,包括 Jupyter Notebook 或您最愛的 Python IDE。
套件
tests |
包含與現有和建立新 MLTable 檔案互動的功能。 透過 mltable 套件,您可以在任何 Python 環境中載入、轉換和分析數據,包括 Jupyter Notebook 或您最愛的 Python IDE。 |
單元
mltable |
包含用來建立及與 MLTable 物件互動的功能 |
類別
DataType |
協助程序類別,可處理支持數據行類型的適當操作, (int、bool、string 等 ) 。 目前用於 MLTable.convert_column_types (...) & from_delimited_files (...) ,以指定要轉換數據行的類型。 使用 DataType.from_ (...) * 方法選取不同類型的類型。 |
MLTable |
表示 MLTable。 MLTable 會定義一系列的延遲評估、不可變的作業,以從數據源載入數據。 除非要求 MLTable 傳遞數據,否則不會從來源載入數據。 初始化新的MLTable。 此建構函式不應該直接叫用。 MLTable 旨在使用 load來建立。 |
列舉
MLTableFileEncoding |
定義從檔案讀取數據以建立 MLTable 時如何處理編碼的選項。 這些列舉值會用於MLTable類別中。 |
MLTableHeaders |
定義從檔案讀取數據以建立 MLTable 時,數據行標頭處理方式的選項。 這些列舉值會用於MLTable類別中。 |
函數
from_delimited_files
從指定的分隔檔案清單中建立MLTable。
from_delimited_files(paths, header='all_files_same_headers', delimiter=',', support_multi_line=False, empty_as_string=False, encoding='utf8', include_path_column=False, infer_column_types=True)
參數
名稱 | Description |
---|---|
paths
必要
|
路徑支援具有本機或雲端路徑的檔案或資料夾。 相對本機檔案路徑假設是相對於目前的工作目錄。 如果本機檔案路徑相對於 的父目錄不是目前的工作目錄,則建議將該路徑當作絕對檔案路徑傳遞。 |
header
必要
|
從檔案讀取時如何處理數據行標頭。 使用列舉 MLTableHeaders指定的選項。 支援的標頭為 「no_header」、「from_first_file」、「all_files_different_headers」和「all_files_same_headers」。 |
delimiter
必要
|
用來分割數據行的分隔符 |
support_multi_line
必要
|
如果為 False,則所有換行符,包括引號域值中的換行符,都會解譯為記錄分隔符。 以這種方式讀取資料,更快且更適合在多個 CPU 核心上平行執行。 不過,它可能會導致以無訊息模式產生更多具有未對齊域值的記錄。 當已知分隔的檔案包含引號換行符時,這應該設定為 True。 假設此 csv 檔案如範例所示,數據會根據support_multi_line以不同的方式讀取。 A,B,C A1,B1,C1 A2,“B2”,C2
|
empty_as_string
必要
|
應該如何處理空白欄位。 如果 True 會將空白字段讀取為空字串,否則會讀取為 Null。 如果 True 和數據行包含日期時間或數值數據,則空白欄位仍會讀取為 Null。 |
encoding
必要
|
使用列舉 MLTableFileEncoding指定檔案編碼。 支援的編碼方式如下:
|
include_path_column
必要
|
將路徑資訊保留為 MLTable 中的數據行,在讀取多個檔案時很有用,而且您想要知道特定記錄的來源檔案,或保留可能儲存在檔案路徑中的實用資訊。 |
infer_column_types
必要
|
如果為 True,則會自動推斷所有數據行類型。 如果為 False,請將數據行保留為字串。 如果字典,表示類型要設定為指定型別的數據行, (推斷其他所有數據行) 。 字典可能包含名為 sample_size 對應至正整數位的索引鍵,代表用於推斷數據行類型的數據列數目。 字典也可能包含名為 『column_type_overrides』 的索引鍵。 字典中的每個索引鍵都是代表數據行名稱的字串,或是代表數據行名稱群組的字串 Tuple。 每個值都是字串 (其中一個 'boolean'、'string'、'float'或 'int') 或 DataType。 mltable。不支援DataType.to_stream () 。 如果指定空的字典,假設為 True。 預設值為 True。 如何格式化 infer_column_types的範例。
|
傳回
類型 | Description |
---|---|
MLTable |
備註
必須有有效的路徑字串。
# load mltable from local delimited file
from mltable import from_delimited_files
paths = [{"file": "./samples/mltable_sample/sample_data.csv"}]
mltable = from_delimited_files(paths)
from_delta_lake
建立 MLTable 物件,以從 Delta Lake 數據表讀取 Parquet 檔案。
from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)
參數
名稱 | Description |
---|---|
delta_table_uri
必要
|
指向包含要讀取之 delta Lake parquet 檔案之差異數據表目錄的 URI。 支援的 URI 類型包括:本機路徑 URI、記憶體 URI、長格式資料存放區 URI 或數據資產 URI。 |
timestamp_as_of
必要
|
RFC-3339/ISO-8601 格式的 datetime 字串,用來從特定時間點讀取比對 parquet 檔案。 ex) “2022-10-01T00:00:00Z”, “2022-10-01T00:00:00+08:00”, “2022-10-01T01:30:00-08:00” |
version_as_of
必要
|
要用來讀取特定 Parquet 檔案版本的整數版本。 |
include_path_column
必要
|
將路徑資訊保留為數據行,在讀取多個檔案時很有用,而且您想要知道特定記錄的來源檔案,或保留可能儲存在檔案路徑中的實用資訊。 |
傳回
類型 | Description |
---|---|
MLTable 實例 |
備註
from_delta_lake 會建立 MLTable 物件,以定義將數據從 delta Lake 資料夾載入表格式表示的作業。
若要讓 Azure Machine Learning 存取數據, 路徑 必須指向差異數據表目錄,而參考的差異湖檔案必須由 AzureML 服務或公用 Web URL 後方存取。
from_delta_lake 支援從指向的 URI 讀取差異湖數據:本機路徑、Blob、ADLS Gen1 和 ADLS Gen2
用戶可以在傳回的 MLTable 上呼叫 to_pandas_dataframe () 來讀取數據並具體化數據
# create an MLTable object from a delta lake using timestamp versioning and materialize the data
from mltable import from_delta_lake
mltable_ts = from_delta_lake(delta_table_uri="./data/delta-01", timestamp_as_of="2021-05-24T00:00:00Z")
pd = mltable_ts.to_pandas_dataframe()
# create an MLTable object from a delta lake using integer versioning and materialize the data
from mltable import from_delta_lake
mltable_version = from_delta_lake(delta_table_uri="./data/delta-02", version_as_of=1)
pd = mltable_version.to_pandas_dataframe()
from_json_lines_files
從指定的 JSON 檔案路徑清單中建立 MLTable。
from_json_lines_files(paths, invalid_lines='error', encoding='utf8', include_path_column=False)
參數
名稱 | Description |
---|---|
paths
必要
|
路徑支援具有本機或雲端路徑的檔案或資料夾。 相對本機檔案路徑假設是相對於目前的工作目錄。 如果本機檔案路徑相對於 的父目錄不是目前的工作目錄,則建議將該路徑當作絕對檔案路徑傳遞。 |
invalid_lines
必要
|
如何處理無效 JSON 的行,可以是 'drop' 或 'error'。 如果卸除 『drop』 無效的行,則會引發錯誤。 |
encoding
必要
|
使用列舉 MLTableFileEncoding指定檔案編碼。 支援的檔案編碼:
|
include_path_column
必要
|
將路徑資訊保留為數據行,在讀取多個檔案時很有用,而且您想要知道特定記錄的來源檔案,或保留可能儲存在檔案路徑中的實用資訊。 |
傳回
類型 | Description |
---|---|
MLTable |
備註
必須有有效的路徑字典
# load mltable from local JSON paths
from mltable import from_json_lines_files
paths = [{'file': './samples/mltable_sample/sample_data.jsonl'}]
mltable = from_json_lines_files(paths)
from_parquet_files
從指定的 Parquet 檔案清單中建立 MLTable。
from_parquet_files(paths, include_path_column=False)
參數
名稱 | Description |
---|---|
paths
必要
|
路徑支援具有本機或雲端路徑的檔案或資料夾。 相對本機檔案路徑假設是相對於目前的工作目錄。 如果本機檔案路徑相對於 的父目錄不是目前的工作目錄,則建議將該路徑當作絕對檔案路徑傳遞。 |
include_path_column
必要
|
將路徑資訊保留為數據行,在讀取多個檔案時很有用,而且您想要知道特定記錄的來源檔案,或保留可能儲存在檔案路徑中的實用資訊。 |
傳回
類型 | Description |
---|---|
MLTable 實例 |
備註
必須有有效的路徑字典
# load mltable from local parquet paths
from mltable import from_parquet_files
paths = [{'file': './samples/mltable_sample/sample.parquet'}]
mltable = from_parquet_files(paths)
from_paths
從指定的路徑建立 MLTable。
from_paths(paths)
參數
名稱 | Description |
---|---|
paths
必要
|
路徑支援具有本機或雲端路徑的檔案或資料夾。 相對本機檔案路徑假設是相對於目前的工作目錄。 如果本機檔案路徑相對於 的父目錄不是目前的工作目錄,則建議將該路徑當作絕對檔案路徑傳遞。 |
傳回
類型 | Description |
---|---|
MLTable 實例 |
備註
必須有有效的路徑字典
# load mltable from local paths
from mltable import from_paths
tbl = from_paths([{'file': "./samples/mltable_sample"}])
# load mltable from cloud paths
from mltable import load
tbl = from_paths(
[{'file': "https://<blob-storage-name>.blob.core.windows.net/<path>/sample_file"}])
load
載入 MLTable 檔案 (YAML) 指定的 URI。
storage_options 支援 'subscription'、'resource_group'、'workspace' 或 'location' 的密鑰。 所有都必須找到 Azure Machine Learning 工作區。
load(uri, storage_options: dict = None, ml_client=None)
參數
名稱 | Description |
---|---|
uri
必要
|
uri 支援長格式資料存放區 URI、記憶體 URI、本機路徑或數據資產 URI 或數據資產簡短 URI |
storage_options
必要
|
URI 是 AML 資產時的 AML 工作區資訊 |
ml_client
必要
|
MLClient 實例。 若要深入了解,請參閱 https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml.mlclient?view=azure-python |
傳回
類型 | Description |
---|---|
MLTable |
備註
指定的 URI 上必須存在名為 'MLTable' 的有效 MLTable YAML 檔案。
# load mltable from local folder
from mltable import load
tbl = load('.\samples\mltable_sample')
# load mltable from azureml datastore uri
from mltable import load
tbl = load(
'azureml://subscriptions/<subscription-id>/
resourcegroups/<resourcegroup-name>/workspaces/<workspace-name>/
datastores/<datastore-name>/paths/<mltable-path-on-datastore>/')
# load mltable from azureml data asset uri
from mltable import load
tbl = load(
'azureml://subscriptions/<subscription-id>/
resourcegroups/<resourcegroup-name>/providers/Microsoft.MachineLearningServices/
workspaces/<workspace-name>/data/<data-asset-name>/versions/<data-asset-version>/')
# load mltable from azureml data asset short uri
from mltable import load
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
ml_client = MLClient(credential, <subscription_id>, <resourcegroup-name>, <workspace-name>)
tbl = load('azureml:<data-asset-name>:<version>', ml_client=ml_client)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應