다음을 통해 공유


FileDataset 클래스

Azure Machine Learning에서 사용할 데이터 저장소 또는 공용 URL의 파일 참조 컬렉션을 나타냅니다.

FileDataset은 데이터 원본에서 파일 스트림으로 데이터를 로드하는 일련의 지연 평가, 변경할 수 없는 작업을 정의합니다. FileDataset에서 데이터를 배달하라는 메시지가 표시될 때까지 데이터는 원본에서 로드되지 않습니다.

FileDatasetFactory 클래스의 메서드를 from_files 사용하여 FileDataset을 만듭니다.

자세한 내용은 데이터 세트 추가 및 등록 문서를 참조하세요. 파일 데이터 세트 작업을 시작하려면 다음을 참조하세요 https://aka.ms/filedataset-samplenotebook.

FileDataset 개체를 초기화합니다.

이 생성자는 직접 호출할 수 없습니다. 데이터 세트는 클래스를 사용하여 FileDatasetFactory 만들기 위한 것입니다.

생성자

FileDataset()

설명

FileDataset은 실험 실행의 입력으로 사용할 수 있습니다. 지정된 이름을 가진 작업 영역에 등록하고 나중에 해당 이름으로 검색할 수도 있습니다.

FileDataset은 이 클래스에서 사용할 수 있는 다양한 하위 설정 메서드를 호출하여 하위 집합할 수 있습니다. 하위 설정의 결과는 항상 새 FileDataset입니다.

실제 데이터 로드는 FileDataset가 데이터를 다른 스토리지 메커니즘(예: 로컬 경로에 다운로드 또는 탑재된 파일)에 전달하도록 요청받을 때 발생합니다.

메서드

as_cache

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

datacache_store 및 데이터 세트에 매핑된 DatacacheConsumptionConfig를 만듭니다.

as_download

다운로드할 모드로 DatasetConsumptionConfig를 만듭니다.

제출된 실행에서 데이터 세트의 파일은 컴퓨팅 대상의 로컬 경로로 다운로드됩니다. 실행 컨텍스트의 인수 값과 input_datasets 필드에서 다운로드 위치를 검색할 수 있습니다. 입력 이름을 자동으로 생성합니다. 사용자 지정 입력 이름을 지정하려면 as_named_input 메서드를 호출하세요.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_download()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The download ___location can be retrieved from argument values
   import sys
   download_location = sys.argv[1]

   # The download ___location can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   download_location = Run.get_context().input_datasets['input_1']
as_hdfs

모드를 hdfs로 설정합니다.

제출된 synapse 실행에서 데이터 세트의 파일은 컴퓨팅 대상의 로컬 경로로 변환됩니다. hdfs 경로는 인수 값 및 os 환경 변수에서 검색할 수 있습니다.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_hdfs()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The hdfs path can be retrieved from argument values
   import sys
   hdfs_path = sys.argv[1]

   # The hdfs path can also be retrieved from input_datasets of the run context.
   import os
   hdfs_path = os.environ['input_<hash>']
as_mount

탑재할 모드로 DatasetConsumptionConfig를 만듭니다.

제출된 실행에서 데이터 세트의 파일은 컴퓨팅 대상의 로컬 경로에 탑재됩니다. 탑재 지점은 인수 값 및 실행 컨텍스트의 input_datasets 필드에서 검색할 수 있습니다. 입력 이름을 자동으로 생성합니다. 사용자 지정 입력 이름을 지정하려면 as_named_input 메서드를 호출하세요.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_mount()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The mount point can be retrieved from argument values
   import sys
   mount_point = sys.argv[1]

   # The mount point can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   mount_point = Run.get_context().input_datasets['input_1']
download

데이터 세트에서 정의한 파일 스트림을 로컬 파일로 다운로드합니다.

file_metadata

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

메타데이터 열 이름을 지정하여 파일 메타데이터 식을 가져옵니다.

지원되는 파일 메타데이터 열은 Size, LastModifiedTime, CreationTime, Extension 및 CanSeek입니다.

filter

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

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

hydrate

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

datacache_store 지정된 요청된 복제본에 데이터 세트를 수화합니다.

mount

데이터 세트에서 로컬 파일로 정의한 파일 스트림을 탑재하기 위한 컨텍스트 관리자를 만듭니다.

random_split

데이터 세트의 파일 스트림을 지정된 백분율에 따라 임의로 두 부분으로 분할합니다.

반환된 첫 번째 데이터 세트에는 총 파일 참조 수가 포함 percentage 되고 두 번째 데이터 세트에는 나머지 파일 참조가 포함됩니다.

skip

데이터 세트의 맨 위에서 지정된 개수로 파일 스트림을 건너뜁니다.

take

데이터 세트의 맨 위에서 지정된 개수로 파일 스트림 샘플을 가져옵니다.

take_sample

지정된 확률에 따라 데이터 세트의 파일 스트림을 임의로 샘플링합니다.

to_path

데이터 세트에서 정의한 각 파일 스트림에 대한 파일 경로 목록을 가져옵니다.

as_cache

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

datacache_store 및 데이터 세트에 매핑된 DatacacheConsumptionConfig를 만듭니다.

as_cache(datacache_store)

매개 변수

Name Description
datacache_store
필수

수화에 사용할 datacachestore입니다.

반환

형식 Description

실행에서 데이터 캐시를 구체화하는 방법을 설명하는 구성 개체입니다.

as_download

다운로드할 모드로 DatasetConsumptionConfig를 만듭니다.

제출된 실행에서 데이터 세트의 파일은 컴퓨팅 대상의 로컬 경로로 다운로드됩니다. 실행 컨텍스트의 인수 값과 input_datasets 필드에서 다운로드 위치를 검색할 수 있습니다. 입력 이름을 자동으로 생성합니다. 사용자 지정 입력 이름을 지정하려면 as_named_input 메서드를 호출하세요.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_download()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The download ___location can be retrieved from argument values
   import sys
   download_location = sys.argv[1]

   # The download ___location can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   download_location = Run.get_context().input_datasets['input_1']
as_download(path_on_compute=None)

매개 변수

Name Description
path_on_compute
str

데이터를 사용할 수 있도록 하는 컴퓨팅의 대상 경로입니다.

Default value: None

설명

데이터 세트가 단일 파일의 경로에서 만들어지면 다운로드 위치는 다운로드된 단일 파일의 경로가 됩니다. 그렇지 않으면 다운로드 위치는 다운로드된 모든 파일에 대한 바깥쪽 폴더의 경로가 됩니다.

path_on_compute /로 시작하면 절대 경로로 처리됩니다. /로 시작하지 않으면 작업 디렉터리를 기준으로 상대 경로로 처리됩니다. 절대 경로를 지정한 경우 작업에 해당 디렉터리에 쓸 수 있는 권한이 있는지 확인하세요.

as_hdfs

모드를 hdfs로 설정합니다.

제출된 synapse 실행에서 데이터 세트의 파일은 컴퓨팅 대상의 로컬 경로로 변환됩니다. hdfs 경로는 인수 값 및 os 환경 변수에서 검색할 수 있습니다.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_hdfs()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The hdfs path can be retrieved from argument values
   import sys
   hdfs_path = sys.argv[1]

   # The hdfs path can also be retrieved from input_datasets of the run context.
   import os
   hdfs_path = os.environ['input_<hash>']
as_hdfs()

설명

데이터 세트가 단일 파일의 경로에서 만들어지면 hdfs 경로는 단일 파일의 경로가 됩니다. 그렇지 않으면 hdfs 경로는 탑재된 모든 파일에 대한 바깥쪽 폴더의 경로가 됩니다.

as_mount

탑재할 모드로 DatasetConsumptionConfig를 만듭니다.

제출된 실행에서 데이터 세트의 파일은 컴퓨팅 대상의 로컬 경로에 탑재됩니다. 탑재 지점은 인수 값 및 실행 컨텍스트의 input_datasets 필드에서 검색할 수 있습니다. 입력 이름을 자동으로 생성합니다. 사용자 지정 입력 이름을 지정하려면 as_named_input 메서드를 호출하세요.


   # Given a run submitted with dataset input like this:
   dataset_input = dataset.as_mount()
   experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))


   # Following are sample codes running in context of the submitted run:

   # The mount point can be retrieved from argument values
   import sys
   mount_point = sys.argv[1]

   # The mount point can also be retrieved from input_datasets of the run context.
   from azureml.core import Run
   mount_point = Run.get_context().input_datasets['input_1']
as_mount(path_on_compute=None)

매개 변수

Name Description
path_on_compute
str

데이터를 사용할 수 있도록 하는 컴퓨팅의 대상 경로입니다.

Default value: None

설명

데이터 세트가 단일 파일의 경로에서 만들어지면 탑재 지점은 탑재된 단일 파일의 경로가 됩니다. 그렇지 않으면 탑재 지점은 탑재된 모든 파일에 대한 바깥쪽 폴더의 경로가 됩니다.

path_on_compute /로 시작하면 절대 경로로 처리됩니다. /로 시작하지 않으면 작업 디렉터리를 기준으로 상대 경로로 처리됩니다. 절대 경로를 지정한 경우 작업에 해당 디렉터리에 쓸 수 있는 권한이 있는지 확인하세요.

download

데이터 세트에서 정의한 파일 스트림을 로컬 파일로 다운로드합니다.

download(target_path=None, overwrite=False, ignore_not_found=False)

매개 변수

Name Description
target_path
필수
str

파일을 다운로드할 로컬 디렉터리입니다. None이면 데이터가 임시 디렉터리에 다운로드됩니다.

overwrite
필수

기존 파일을 덮어쓸지 여부를 나타냅니다. 기본값은 False입니다. 덮어쓰기가 True로 설정된 경우 기존 파일을 덮어씁니다. 그렇지 않으면 예외가 발생합니다.

ignore_not_found
필수

데이터 세트에서 가리키는 일부 파일을 찾을 수 없는 경우 다운로드 실패 여부를 나타냅니다. 기본값은 False입니다. ignore_not_found False로 설정된 경우 어떤 이유로든 파일 다운로드가 실패하면 다운로드가 실패합니다. 그렇지 않으면 찾을 수 없는 오류에 대한 경고가 기록되고 다른 오류 유형이 발생하지 않는 한 dowload가 성공합니다.

반환

형식 Description

다운로드한 각 파일에 대한 파일 경로 배열을 반환합니다.

설명

target_path /로 시작하면 절대 경로로 처리됩니다. /로 시작하지 않으면 현재 작업 디렉터리에 상대적인 경로로 처리됩니다.

file_metadata

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

메타데이터 열 이름을 지정하여 파일 메타데이터 식을 가져옵니다.

지원되는 파일 메타데이터 열은 Size, LastModifiedTime, CreationTime, Extension 및 CanSeek입니다.

file_metadata(col)

매개 변수

Name Description
col
필수
str

열 이름

반환

형식 Description
<xref:azureml.dataprep.api.expression.RecordFieldExpression>

지정된 열의 값을 검색하는 식을 반환합니다.

filter

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

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

filter(expression)

매개 변수

Name Description
expression
필수
<xref:azureml.dataprep.api.expression.Expression>

평가할 식입니다.

반환

형식 Description

수정된 데이터 세트(등록 취소됨)입니다.

설명

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


   (dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
   dataset.file_metadata('Extension').starts_with('j')

hydrate

비고

이는 실험적 방법이며 언제든지 변경 될 수 있습니다. 자세한 내용은 https://aka.ms/acr/connected-registry을 참조하세요.

datacache_store 지정된 요청된 복제본에 데이터 세트를 수화합니다.

hydrate(datacache_store, replica_count=None)

매개 변수

Name Description
datacache_store
필수

수화에 사용할 datacachestore입니다.

replica_count
필수
<xref:Int>, <xref:optional>

수화할 복제본 수입니다.

반환

형식 Description

실행에서 데이터 캐시를 구체화하는 방법을 설명하는 구성 개체입니다.

mount

데이터 세트에서 로컬 파일로 정의한 파일 스트림을 탑재하기 위한 컨텍스트 관리자를 만듭니다.

mount(mount_point=None, **kwargs)

매개 변수

Name Description
mount_point
필수
str

파일을 탑재할 로컬 디렉터리입니다. None이면 데이터가 임시 디렉터리에 탑재되며 MountContext.mount_point 인스턴스 메서드 를 호출하여 찾을 수 있습니다.

반환

형식 Description
<xref:MountContext>: <xref:the> <xref:context> <xref:manager.> <xref:Upon> <xref:entering> <xref:the> <xref:context> <xref:manager>, <xref:the> <xref:dataflow> <xref:will> <xref:be> <xref:mounted> <xref:to> <xref:the> <xref:mount_point.> <xref:Upon> exit, <xref:it> <xref:will> <xref:remove> <xref:the> mount <xref:point> <xref:and> clean <xref:up> <xref:the> <xref:daemon> <xref:process> <xref:used> <xref:to> mount <xref:the> <xref:dataflow.>

탑재의 수명 주기를 관리하기 위한 컨텍스트 관리자를 반환합니다.

설명

탑재의 수명 주기를 관리하기 위해 컨텍스트 관리자가 반환됩니다. 탑재하려면 컨텍스트 관리자를 입력하고 탑재를 해제하려면 컨텍스트 관리자에서 종료해야 합니다.

탑재는 네이티브 패키지 libfuse가 설치된 Unix 또는 Unix 계열 운영 체제에서만 지원됩니다. Docker 컨테이너 내에서 실행하는 경우 docker 컨테이너를 –privileged 플래그로 시작하거나 –cap-add SYS_ADMIN –device /dev/fuse로 시작해야 합니다.


   datastore = Datastore.get(workspace, 'workspaceblobstore')
   dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))

   with dataset.mount() as mount_context:
       # list top level mounted files and folders in the dataset
       os.listdir(mount_context.mount_point)

   # You can also use the start and stop methods
   mount_context = dataset.mount()
   mount_context.start()  # this will mount the file streams
   mount_context.stop()  # this will unmount the file streams

target_path /로 시작하면 절대 경로로 처리됩니다. /로 시작하지 않으면 현재 작업 디렉터리에 상대적인 경로로 처리됩니다.

random_split

데이터 세트의 파일 스트림을 지정된 백분율에 따라 임의로 두 부분으로 분할합니다.

반환된 첫 번째 데이터 세트에는 총 파일 참조 수가 포함 percentage 되고 두 번째 데이터 세트에는 나머지 파일 참조가 포함됩니다.

random_split(percentage, seed=None)

매개 변수

Name Description
percentage
필수

데이터 세트를 분할할 대략적인 백분율입니다. 0.0에서 1.0 사이의 숫자여야 합니다.

seed
필수
int

임의 생성기에 사용할 선택적 시드입니다.

반환

형식 Description

분할 후 두 데이터 세트를 나타내는 새 FileDataset 개체의 튜플을 반환합니다.

skip

데이터 세트의 맨 위에서 지정된 개수로 파일 스트림을 건너뜁니다.

skip(count)

매개 변수

Name Description
count
필수
int

건너뛸 파일 스트림의 수입니다.

반환

형식 Description

파일 스트림을 건너뛴 데이터 세트를 나타내는 새 FileDataset 개체를 반환합니다.

take

데이터 세트의 맨 위에서 지정된 개수로 파일 스트림 샘플을 가져옵니다.

take(count)

매개 변수

Name Description
count
필수
int

사용할 파일 스트림의 수입니다.

반환

형식 Description

샘플링된 데이터 세트를 나타내는 새 FileDataset 개체를 반환합니다.

take_sample

지정된 확률에 따라 데이터 세트의 파일 스트림을 임의로 샘플링합니다.

take_sample(probability, seed=None)

매개 변수

Name Description
probability
필수

샘플에 포함되는 파일 스트림의 확률입니다.

seed
필수
int

임의 생성기에 사용할 선택적 시드입니다.

반환

형식 Description

샘플링된 데이터 세트를 나타내는 새 FileDataset 개체를 반환합니다.

to_path

데이터 세트에서 정의한 각 파일 스트림에 대한 파일 경로 목록을 가져옵니다.

to_path()

반환

형식 Description

파일 경로의 배열을 반환합니다.

설명

파일 경로는 파일 스트림을 다운로드하거나 탑재할 때 로컬 파일에 대한 상대 경로입니다.

데이터 세트를 만들기 위해 데이터 원본을 지정한 방법에 따라 파일 경로에서 공통 접두사를 제거합니다. 다음은 그 예입니다.


   datastore = Datastore.get(workspace, 'workspaceblobstore')
   dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))
   print(dataset.to_path())

   # ['year-2018/1.jpg'
   #  'year-2018/2.jpg'
   #  'year-2019/1.jpg']

   dataset = Dataset.File.from_files('https://dprepdata.blob.core.windows.net/demo/green-small/*.csv')

   print(dataset.to_path())
   # ['/green_tripdata_2013-08.csv']