mltable 패키지
기존 파일과 상호 작용하고 새 MLTable 파일을 만들기 위한 기능을 포함합니다.
mltable 패키지를 사용하면 Jupyter Notebook 또는 즐겨 찾는 Python IDE를 비롯한 모든 Python 환경에서 데이터를 로드, 변환 및 분석할 수 있습니다.
패키지
tests |
기존 파일과 상호 작용하고 새 MLTable 파일을 만들기 위한 기능을 포함합니다. mltable 패키지를 사용하면 Jupyter Notebook 또는 즐겨 찾는 Python IDE를 비롯한 모든 Python 환경에서 데이터를 로드, 변환 및 분석할 수 있습니다. |
모듈
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)
매개 변수
Name | 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,"B 2",C2
|
empty_as_string
필수
|
빈 필드를 처리하는 방법. True이면 빈 필드를 빈 문자열로 읽습니다. 그렇지 않으면 null로 읽습니다. True이고 열에 datetime 또는 숫자 데이터가 포함되어 있으면 빈 필드는 여전히 null로 읽습니다. |
encoding
필수
|
열거 MLTableFileEncoding형을 사용하여 파일 인코딩을 지정합니다. 지원되는 인코딩은 다음과 같습니다.
|
include_path_column
필수
|
경로 정보를 MLTable의 열로 유지하면 여러 파일을 읽을 때 유용하며 특정 레코드가 어떤 파일에서 왔는지 알고 싶거나 파일 경로에 저장될 수 있는 유용한 정보를 유지하려고 합니다. |
infer_column_types
필수
|
True이면 모든 열 형식을 자동으로 유추합니다. False이면 열을 문자열로 남깁니다. 사전인 경우 형식을 지정된 형식으로 설정해야 하는 열을 나타냅니다(다른 모든 열이 유추됨). 사전에는 열 형식 유추에 사용할 행 수를 나타내는 양의 정수에 매핑된 sample_size 이름이 지정된 키가 포함될 수 있습니다. 사전에 'column_type_overrides'이라는 키가 포함될 수도 있습니다. 사전의 각 키는 열 이름을 나타내는 문자열 또는 열 이름 그룹을 나타내는 문자열의 튜플입니다. 각 값은 문자열('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
Delta Lake 테이블에서 Parquet 파일에서 읽을 MLTable 개체를 만듭니다.
from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)
매개 변수
Name | Description |
---|---|
delta_table_uri
필수
|
읽을 델타 레이크 parquet 파일이 포함된 델타 테이블 디렉터리를 가리키는 URI입니다. 지원되는 URI 유형은 로컬 경로 URI, 스토리지 URI, 긴 형식 데이터 저장소 URI 또는 데이터 자산 URI입니다. |
timestamp_as_of
필수
|
특정 시점의 일치하는 parquet 파일을 읽는 데 사용할 RFC-3339/ISO-8601 형식의 datetime 문자열입니다. 예) "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 개체를 만듭니다.
Azure Machine Learning에서 데이터에 액세스할 수 있도록 하려면 경로 가 델타 테이블 디렉터리를 가리키고 참조되는 델타 레이크 파일은 AzureML 서비스 또는 공용 웹 URL 뒤에서 액세스할 수 있어야 합니다.
from_delta_lake 로컬 경로, Blob, ADLS Gen1 및 ADLS Gen2를 가리키는 URI에서 델타 레이크 데이터 읽기를 지원합니다.
사용자는 반환된 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)
매개 변수
Name | 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)
매개 변수
Name | 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)
매개 변수
Name | 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
지정된 URI에 있는 MLTable 파일(YAML)을 로드합니다.
storage_options '구독', 'resource_group', '작업 영역' 또는 '위치' 키를 지원합니다. 모두 Azure Machine Learning 작업 영역을 찾아야 합니다.
load(uri, storage_options: dict = None, ml_client=None)
매개 변수
Name | 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)