다음을 통해 공유


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
필수
str

열을 분할하는 데 사용되는 구분 기호

support_multi_line
필수

False이면 따옴표 붙은 필드 값에 포함된 줄 바꿈을 비롯한 모든 줄 바꿈이 레코드 나누기로 해석됩니다. 이러한 방식으로 데이터를 읽는 것은 여러 CPU 코어에서 병렬 실행을 위해 더 빠르고 최적화됩니다. 그러나 정렬되지 않은 필드 값으로 더 많은 레코드가 자동으로 생성될 수 있습니다. 구분된 파일에 따옴표가 붙은 줄 바꿈이 포함된 것으로 알려진 경우 True로 설정해야 합니다.

예를 들어 이 csv 파일을 사용하면 support_multi_line 따라 데이터를 다르게 읽습니다.

A,B,C A1,B1,C1 A2,"B 2",C2


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(path)
   print(mltable.to_pandas_dataframe())
   #      A   B     C
   #  0  A1  B1    C1
   #  1  A2   B  None
   #  2  2"  C2  None

   # to handle quoted line breaks
   mltable = from_delimited_files(path, support_multi_line=True)
   print(mltable.to_pandas_dataframe())
   #      A       B   C
   #  0  A1      B1  C1
   #  1  A2  B\r\n2  C2
empty_as_string
필수

빈 필드를 처리하는 방법. True이면 빈 필드를 빈 문자열로 읽습니다. 그렇지 않으면 null로 읽습니다. True이고 열에 datetime 또는 숫자 데이터가 포함되어 있으면 빈 필드는 여전히 null로 읽습니다.

encoding
필수

열거 MLTableFileEncoding형을 사용하여 파일 인코딩을 지정합니다. 지원되는 인코딩은 다음과 같습니다.

  • UTF8을 "UTF8", "UTF-8", "UTF-8 BOM"으로
  • ISO88591을 "ISO88591" 또는 "ISO-8859-1"로 표기
  • latin1을 "latin1" 또는 "latin-1"로
  • utf16을 "utf16" 또는 "utf-16"으로
  • windows1252를 "windows1252" 또는 "windows-1252"로
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 서식을 지정하는 방법의 예입니다.


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(paths, infer_column_types={
       'sample_size': 100,
       'column_type_overrides': {
           'colA': 'boolean'
           ('colB', 'colC'): DataType.to_int()
       }
   })

반환

형식 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
필수
str

읽을 델타 레이크 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
필수
int

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
필수
str

잘못된 JSON인 줄을 처리하는 방법은 'drop' 또는 'error'일 수 있습니다. 'drop'이(가) 잘못된 줄을 삭제하면 오류가 발생합니다.

encoding
필수

열거 MLTableFileEncoding형을 사용하여 파일 인코딩을 지정합니다. 지원되는 파일 인코딩:

  • UTF8을 "UTF8", "UTF-8", "UTF-8 BOM"으로
  • ISO88591을 "ISO88591" 또는 "ISO-8859-1"로 표기
  • latin1을 "latin1" 또는 "latin-1"로
  • utf16을 "utf16" 또는 "utf-16"으로
  • windows1252를 "windows1252" 또는 "windows-1252"로
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
필수
str

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)