MLTable 클래스

MLTable을 나타냅니다.

MLTable은 데이터 원본에서 데이터를 로드하기 위해 지연 평가되고 변경할 수 없는 일련의 작업을 정의합니다. MLTable에서 데이터를 배달하라는 메시지가 표시될 때까지 데이터는 원본에서 로드되지 않습니다.

새 MLTable을 초기화합니다.

이 생성자는 직접 호출할 수 없습니다. MLTable은 를 사용하여 load만듭니다.

상속
builtins.object
MLTable

생성자

MLTable()

메서드

convert_column_types

지정된 열을 지정된 해당 새 형식으로 변환하는 변환 단계를 추가합니다.


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
drop_columns

데이터 세트에서 지정된 열을 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합에 아무 것도 지정되지 않으면 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다.

MLTable.traits.timestamp_column 또는 MLTable.traits.index_columns 열을 삭제하려고 하면 UserErrorException이 발생합니다.

extract_columns_from_partition_format

각 경로의 파티션 정보를 사용하고 지정된 파티션 형식에 따라 열로 추출하는 변환 단계를 추가합니다.

형식 부분 '{column_name}'은 문자열 열을 만들고, '{column_name:yyyy/MM/dd/HH/mm/ss}'는 datetime 열을 만듭니다. 여기서 'yyyy', 'MM', 'dd', 'HH', 'mm' 및 'ss'는 datetime 형식의 연도, 월, 일, 시, 분 및 초를 추출하는 데 사용됩니다.

형식은 첫 번째 파티션 키의 위치에서 시작하여 파일 경로의 끝까지입니다. 예를 들어 파티션이 부서 이름과 시간을 기준으로 하는 '/Accounts/2019/01/01/data.csv' 경로가 지정된 경우 partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv'은 값이 'Accounts'이고 datetime 열 'PartitionDate'가 '2019-01-01'인 문자열 열 'Department'를 만듭니다.

filter

지정된 식과 일치하는 레코드만 남겨두고 데이터를 필터링합니다.

get_partition_count

이 MLTable과 연결된 데이터의 기본 데이터 파티션 수를 반환합니다.

keep_columns

지정된 열을 유지하고 다른 모든 열을 데이터 세트에서 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합에 아무 것도 지정되지 않으면 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다.

MLTable.traits.timestamp_column 열 또는 MLTable.traits.index_columns 열이 명시적으로 유지되지 않으면 UserErrorException이 래시됩니다.

random_split

이 MLTable을 두 개의 MLTable로 임의로 분할합니다. 하나는 원래 MLTable 데이터의 약 "백분율"%이고 다른 하나는 나머지(1-"%"%)를 가집니다.

save

이 MLTable을 지정된 디렉터리 경로에 연결된 경로를 & MLTable YAML 파일로 저장합니다.

경로가 지정되지 않은 경우 은 현재 작업 디렉터리로 기본 설정됩니다. 경로가 없으면 만들어집니다. 경로가 원격인 경우 기본 데이터 저장소가 이미 있어야 합니다. 경로가 로컬 디렉터리인 경우 & 절대 디렉터리가 아닌 경우 절대로 만들어집니다.

경로가 파일을 가리키는 경우 UserErrorException이 발생합니다. path가 저장 중인 하나 이상의 파일(MLTable YAML 파일 포함)이 이미 포함된 디렉터리 경로이고 덮어쓰기가 False 또는 'fail'로 설정된 경우 UserErrorException이 발생합니다. 경로가 원격인 경우 공동 배치된 경로로 지정되지 않은 로컬 파일 경로(MLTable이 로드된 디렉터리를 기준으로 하는 파일 경로)는 UserErrorException을 발생합니다.

연결된 경로가경로에 저장되는 방식을 공동 배치된 컨트롤입니다. True이면 파일이 MLTable YAML 파일과 함께 경로 에 상대 파일 경로로 복사됩니다. 그렇지 않으면 연결된 파일이 복사되지 않고, 원격 경로는 지정된 대로 유지되며, 로컬 파일 경로는 필요한 경우 경로 리디렉션을 기준으로 만들어집니다. False이면 지정되지 않은 MLTable YAML 파일이 권장되지 않을 수 있습니다. 또한 경로 가 원격인 경우 상대 경로 리디렉션이 원격 URI에 대해 지원되지 않으므로 UserErrorException이 발생합니다.

MLTable이 로컬 상대 경로가 있는 from_paths() 또는 from_read_delimited_files() 와 같은 메서드를 사용하여 프로그래밍 방식으로 만든 경우 MLTable 디렉터리 경로는 현재 작업 디렉터리로 간주됩니다.

새 MLTable & 연결된 데이터 파일을 새 파일을 저장하기 전에 디렉터리가 기존 파일에서 지워지지 않은 기존 MLTable 파일 & 연결된 데이터 파일이 있는 디렉터리에 저장할 때 유의해야 합니다. 특히 기존 데이터 파일에 새 데이터 파일과 일치하는 이름이 없는 경우 새 파일을 저장한 후 기존 데이터 파일을 유지할 수 있습니다. 새 MLTable에 해당 경로 아래에 패턴 지정자가 포함된 경우 기존 데이터 파일을 새 MLTable과 연결하여 의도치 않게 MLTable을 변경할 수 있습니다.

이 MLTable의 파일 경로가 경로 의 기존 파일을 가리키지만 다른 URI가 있는 경우 덮어쓰기가 'fail' 또는 'skip'이면 기존 파일을 덮어쓰지 않습니다(즉, 건너뛰기).

select_partitions

파티션을 선택하는 변환 단계를 추가합니다.

show

이 MLTable의 첫 번째 개수 행을 Pandas 데이터 프레임으로 검색합니다.

skip

이 MLTable의 첫 번째 개수 행을 건너뛰는 변환 단계를 추가합니다.

take

이 MLTable의 첫 번째 개수 행을 선택하는 변환 단계를 추가합니다.

take_random_sample

확률 확률로 이 MLTable의 각 행을 임의로 선택하는 변환 단계를 추가 합니다 . 확률은 범위 [0, 1]에 있어야 합니다. 임의 시드를 선택적으로 설정할 수 있습니다.

to_pandas_dataframe

MLTable 파일에 지정된 경로의 모든 레코드를 Pandas DataFrame에 로드합니다.

validate

이 MLTable의 데이터를 로드할 수 있는지 유효성을 검사합니다. 현재 컴퓨팅에서 MLTable의 데이터 원본에 액세스할 수 있어야 합니다.

convert_column_types

지정된 열을 지정된 해당 새 형식으로 변환하는 변환 단계를 추가합니다.


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
convert_column_types(column_types)

매개 변수

Name Description
column_types
필수

열 사전: 사용자가 변환하려는 형식

반환

형식 Description

변환 단계가 추가된 MLTable

drop_columns

데이터 세트에서 지정된 열을 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합에 아무 것도 지정되지 않으면 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다.

MLTable.traits.timestamp_column 또는 MLTable.traits.index_columns 열을 삭제하려고 하면 UserErrorException이 발생합니다.

drop_columns(columns: str | List[str] | Tuple[str] | Set[str])

매개 변수

Name Description
columns
필수
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

이 MLTable에서 삭제할 열

반환

형식 Description

변환 단계가 추가된 MLTable

extract_columns_from_partition_format

각 경로의 파티션 정보를 사용하고 지정된 파티션 형식에 따라 열로 추출하는 변환 단계를 추가합니다.

형식 부분 '{column_name}'은 문자열 열을 만들고, '{column_name:yyyy/MM/dd/HH/mm/ss}'는 datetime 열을 만듭니다. 여기서 'yyyy', 'MM', 'dd', 'HH', 'mm' 및 'ss'는 datetime 형식의 연도, 월, 일, 시, 분 및 초를 추출하는 데 사용됩니다.

형식은 첫 번째 파티션 키의 위치에서 시작하여 파일 경로의 끝까지입니다. 예를 들어 파티션이 부서 이름과 시간을 기준으로 하는 '/Accounts/2019/01/01/data.csv' 경로가 지정된 경우 partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv'은 값이 'Accounts'이고 datetime 열 'PartitionDate'가 '2019-01-01'인 문자열 열 'Department'를 만듭니다.

extract_columns_from_partition_format(partition_format)

매개 변수

Name Description
partition_format
필수
str

데이터를 열로 추출하는 데 사용할 파티션 형식

반환

형식 Description

파티션 형식이 지정된 형식으로 설정된 MLTable

filter

지정된 식과 일치하는 레코드만 남겨두고 데이터를 필터링합니다.

filter(expression)

매개 변수

Name Description
expression
필수

계산할 식입니다.

반환

형식 Description

필터 후 MLTable

설명

식은 mltable을 열 이름으로 인덱싱하여 시작합니다. 다양한 함수와 연산자를 지원하며 논리 연산자를 사용하여 결합할 수 있습니다. 결과 식은 정의된 위치가 아니라 데이터 풀이 발생할 때 각 레코드에 대해 지연 평가됩니다.


   filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
   filtered_mltable = mltable.filter('col("FBI Code") == "11"')

get_partition_count

이 MLTable과 연결된 데이터의 기본 데이터 파티션 수를 반환합니다.

get_partition_count() -> int

반환

형식 Description
int

이 MLTable의 데이터 파티션

keep_columns

지정된 열을 유지하고 다른 모든 열을 데이터 세트에서 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합에 아무 것도 지정되지 않으면 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다.

MLTable.traits.timestamp_column 열 또는 MLTable.traits.index_columns 열이 명시적으로 유지되지 않으면 UserErrorException이 래시됩니다.

keep_columns(columns: str | List[str] | Tuple[str] | Set[str])

매개 변수

Name Description
columns
필수
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

유지할 이 MLTable의 열

반환

형식 Description

변환 단계가 추가된 MLTable

random_split

이 MLTable을 두 개의 MLTable로 임의로 분할합니다. 하나는 원래 MLTable 데이터의 약 "백분율"%이고 다른 하나는 나머지(1-"%"%)를 가집니다.

random_split(percent=0.5, seed=None)

매개 변수

Name Description
percent
필수

분할할 MLTable의 백분율

seed
필수

선택적 임의 시드

반환

형식 Description

이 MLTable의 데이터가 "백분율"로 분할된 두 개의 MLTable

save

이 MLTable을 지정된 디렉터리 경로에 연결된 경로를 & MLTable YAML 파일로 저장합니다.

경로가 지정되지 않은 경우 은 현재 작업 디렉터리로 기본 설정됩니다. 경로가 없으면 만들어집니다. 경로가 원격인 경우 기본 데이터 저장소가 이미 있어야 합니다. 경로가 로컬 디렉터리인 경우 & 절대 디렉터리가 아닌 경우 절대로 만들어집니다.

경로가 파일을 가리키는 경우 UserErrorException이 발생합니다. path가 저장 중인 하나 이상의 파일(MLTable YAML 파일 포함)이 이미 포함된 디렉터리 경로이고 덮어쓰기가 False 또는 'fail'로 설정된 경우 UserErrorException이 발생합니다. 경로가 원격인 경우 공동 배치된 경로로 지정되지 않은 로컬 파일 경로(MLTable이 로드된 디렉터리를 기준으로 하는 파일 경로)는 UserErrorException을 발생합니다.

연결된 경로가경로에 저장되는 방식을 공동 배치된 컨트롤입니다. True이면 파일이 MLTable YAML 파일과 함께 경로 에 상대 파일 경로로 복사됩니다. 그렇지 않으면 연결된 파일이 복사되지 않고, 원격 경로는 지정된 대로 유지되며, 로컬 파일 경로는 필요한 경우 경로 리디렉션을 기준으로 만들어집니다. False이면 지정되지 않은 MLTable YAML 파일이 권장되지 않을 수 있습니다. 또한 경로 가 원격인 경우 상대 경로 리디렉션이 원격 URI에 대해 지원되지 않으므로 UserErrorException이 발생합니다.

MLTable이 로컬 상대 경로가 있는 from_paths() 또는 from_read_delimited_files() 와 같은 메서드를 사용하여 프로그래밍 방식으로 만든 경우 MLTable 디렉터리 경로는 현재 작업 디렉터리로 간주됩니다.

새 MLTable & 연결된 데이터 파일을 새 파일을 저장하기 전에 디렉터리가 기존 파일에서 지워지지 않은 기존 MLTable 파일 & 연결된 데이터 파일이 있는 디렉터리에 저장할 때 유의해야 합니다. 특히 기존 데이터 파일에 새 데이터 파일과 일치하는 이름이 없는 경우 새 파일을 저장한 후 기존 데이터 파일을 유지할 수 있습니다. 새 MLTable에 해당 경로 아래에 패턴 지정자가 포함된 경우 기존 데이터 파일을 새 MLTable과 연결하여 의도치 않게 MLTable을 변경할 수 있습니다.

이 MLTable의 파일 경로가 경로 의 기존 파일을 가리키지만 다른 URI가 있는 경우 덮어쓰기가 'fail' 또는 'skip'이면 기존 파일을 덮어쓰지 않습니다(즉, 건너뛰기).

save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)

매개 변수

Name Description
path
필수
str

저장할 디렉터리 경로이며, 기본값은 현재 작업 디렉터리입니다.

colocated
필수

True이면 이 MLTable의 로컬 & 원격 파일 경로 복사본을 경로 아래에 상대 경로로 저장합니다. 그렇지 않으면 파일 복사가 발생하지 않고 경로 리디렉션이 있는 상대 파일 경로로 저장된 MLTable YAML 파일 및 로컬 파일 경로에 지정된 대로 원격 파일 경로가 저장됩니다. 이 MLTable에 로컬 파일 경로 가 포함되어 & 경로가 원격인 경우 UserErrorException이 발생합니다.

overwrite
필수
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]

경로 아래에 이미 존재할 수 있는 기존 MLTable YAML 파일 및 관련 파일이 처리되는 방식 옵션은 기존 파일을 대체하려면 '덮어쓰기'(또는 True), 파일이 이미 있는 경우 오류를 발생시키는 'fail'(또는 False) 또는 기존 파일을 그대로 두는 'skip'입니다. 를 사용하여 <xref:mltable.MLTableSaveOverwriteOptions>설정할 수도 있습니다.

show_progress
필수

stdout에 복사 진행률을 표시합니다.

if_err_remove_files
필수

저장하는 동안 오류가 발생하면 성공적으로 저장된 파일을 제거하여 작업을 원자성으로 만듭니다.

반환

형식 Description

이 MLTable instance

select_partitions

파티션을 선택하는 변환 단계를 추가합니다.

select_partitions(partition_index_list)

매개 변수

Name Description
partition_index_list
필수
list of int

파티션 인덱스 목록

반환

형식 Description

파티션 크기가 업데이트된 MLTable

설명

다음 코드 조각은 제공된 MLTable에서 선택한 파티션에 select_partitions API를 사용하는 방법을 보여 줍니다.


   partition_index_list = [1, 2]
   mltable = mltable.select_partitions(partition_index_list)

show

이 MLTable의 첫 번째 개수 행을 Pandas 데이터 프레임으로 검색합니다.

show(count=20)

매개 변수

Name Description
count
필수
int

선택할 테이블 위쪽의 행 수

반환

형식 Description
<xref:Pandas> <xref:Dataframe>

MLTable의 첫 번째 개수 행 수

skip

이 MLTable의 첫 번째 개수 행을 건너뛰는 변환 단계를 추가합니다.

skip(count)

매개 변수

Name Description
count
필수
int

건너뛸 행 수

반환

형식 Description

변환 단계가 추가된 MLTable

take

이 MLTable의 첫 번째 개수 행을 선택하는 변환 단계를 추가합니다.

take(count=20)

매개 변수

Name Description
count
필수
int

선택할 테이블 위쪽의 행 수

반환

형식 Description

"take" 변환 단계가 추가된 MLTable

take_random_sample

확률 확률로 이 MLTable의 각 행을 임의로 선택하는 변환 단계를 추가 합니다 . 확률은 범위 [0, 1]에 있어야 합니다. 임의 시드를 선택적으로 설정할 수 있습니다.

take_random_sample(probability, seed=None)

매개 변수

Name Description
probability
필수

각 행이 선택될 수 있습니다.

seed
필수

선택적 임의 시드

반환

형식 Description

변환 단계가 추가된 MLTable

to_pandas_dataframe

MLTable 파일에 지정된 경로의 모든 레코드를 Pandas DataFrame에 로드합니다.

to_pandas_dataframe()

반환

형식 Description

이 MLTable의 경로에서 레코드를 포함하는 Pandas 데이터 프레임

설명

다음 코드 조각은 to_pandas_dataframe api를 사용하여 제공된 MLTable에 해당하는 pandas 데이터 프레임을 가져오는 방법을 보여 줍니다.


   from mltable import load
   tbl = load('.\samples\mltable_sample')
   pdf = tbl.to_pandas_dataframe()
   print(pdf.shape)

validate

이 MLTable의 데이터를 로드할 수 있는지 유효성을 검사합니다. 현재 컴퓨팅에서 MLTable의 데이터 원본에 액세스할 수 있어야 합니다.

validate()

반환

형식 Description

없음

특성

partition_keys

파티션 키를 반환합니다.

반환

형식 Description

파티션 키

paths

이 MLTable에 지정된 원래 경로를 포함하는 사전 목록을 반환합니다. 상대 로컬 파일 경로는 이 MLTable instance 로드된 MLTable YAML 파일이 있는 디렉터리를 기준으로 하는 것으로 간주됩니다.

반환

형식 Description

MLTable에 지정된 경로를 포함하는 받아쓰기 목록