FileDataset 클래스
Azure Machine Learning에서 사용할 데이터 저장소 또는 공용 URL의 파일 참조 컬렉션을 나타냅니다.
FileDataset는 데이터 원본에서 파일 스트림으로 데이터를 로드하는 일련의 지연 평가되고 변경이 불가능한 작업을 정의합니다. FileDataset에 데이터 전달이 요청될 때까지 데이터는 원본에서 로드되지 않습니다.
FileDatasetFactory 클래스의 from_files 메서드를 사용하여 FileDataset가 만들어집니다.
자세한 내용은 데이터 세트 등록 & 문서를 참조하세요. 파일 데이터 집합 작업을 시작하려면 https://aka.ms/filedataset-samplenotebook을 참조하세요.
FileDataset 개체를 초기화합니다.
이 생성자는 직접 호출할 수 없습니다. 데이터 세트는 클래스를 사용하여 FileDatasetFactory 만들기 위한 것입니다.
- 상속
-
FileDataset
생성자
FileDataset()
설명
FileDataset는 실험 실행의 입력으로 사용될 수 있습니다. 지정된 이름으로 작업 영역에 등록할 수도 있고 나중에 해당 이름으로 검색할 수도 있습니다.
FileDataset는 이 클래스에서 사용할 수 있는 다양한 하위 설정 메서드를 호출하여 하위 설정할 수 있습니다. 하위 설정의 결과는 항상 새 FileDataset입니다.
실제 데이터 로드는 데이터를 다른 스토리지 메커니즘(예: 로컬 경로에 다운로드 또는 탑재된 파일)에 전달하도록 FileDataset에 요청될 때 발생합니다.
메서드
as_cache |
참고 이는 실험적인 메서드이며 언제든지 변경될 수도 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요. datacache_store 및 dataset에 매핑된 DatacacheConsumptionConfig를 만듭니다. |
as_download |
모드를 download로 설정하여 DatasetConsumptionConfig를 만듭니다. 제출된 실행에서 데이터 집합의 파일은 컴퓨팅 대상의 로컬 경로로 다운로드됩니다. 다운로드 위치는 실행 컨텍스트의 인수 값 및 input_datasets 필드에서 검색할 수 있습니다. 입력 이름을 자동으로 생성합니다. 사용자 지정 입력 이름을 지정하려면 as_named_input 메서드를 호출하세요.
|
as_hdfs |
모드를 hdfs로 설정합니다. 제출된 Synapse 실행에서 데이터 집합의 파일은 컴퓨팅 대상의 로컬 경로로 변환됩니다. hdfs 경로는 인수 값 및 os 환경 변수에서 검색할 수 있습니다.
|
as_mount |
모드를 mount로 설정하여 DatasetConsumptionConfig를 만듭니다. 제출된 실행에서 데이터 집합의 파일은 컴퓨팅 대상의 로컬 경로에 탑재됩니다. 탑재 지점은 인수 값과 실행 컨텍스트의 input_datasets 필드에서 검색할 수 있습니다. 입력 이름을 자동으로 생성합니다. 사용자 지정 입력 이름을 지정하려면 as_named_input 메서드를 호출하세요.
|
download |
데이터 집합에서 정의한 파일 스트림을 로컬 파일로 다운로드합니다. |
file_metadata |
참고 이는 실험적인 메서드이며 언제든지 변경될 수도 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요. 메타데이터 열 이름을 지정하여 파일 메타데이터 식을 가져옵니다. 지원되는 파일 메타데이터 열은 Size, LastModifiedTime, CreationTime, Extension, CanSeek입니다. |
filter |
참고 이는 실험적인 메서드이며 언제든지 변경될 수도 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요. 지정된 식과 일치하는 레코드만 남겨두고 데이터를 필터링합니다. |
hydrate |
참고 이는 실험적인 메서드이며 언제든지 변경될 수도 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요. 데이터 집합을 datacache_store에 지정된 요청된 복제본으로 하이드레이션합니다. |
mount |
데이터 집합에 의해 정의된 파일 스트림을 로컬 파일로 탑재하는 컨텍스트 관리자를 만듭니다. |
random_split |
데이터 집합의 파일 스트림을 지정된 백분율에 따라 임의로 대략 두 부분으로 분할합니다. 반환된 첫 번째 데이터 세트에는 총 파일 참조 수 중 대략적인 |
skip |
데이터 집합의 맨 위에서 지정된 개수만큼 파일 스트림을 건너뜁니다. |
take |
데이터 집합의 맨 위에서 지정된 개수만큼 파일 스트림 샘플을 가져옵니다. |
take_sample |
데이터 집합의 임의 파일 스트림 샘플을 대략 지정된 확률만큼 가져옵니다. |
to_path |
데이터 집합에서 정의한 각 파일 스트림에 대한 파일 경로 목록을 가져옵니다. |
as_cache
참고
이는 실험적인 메서드이며 언제든지 변경될 수도 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요.
datacache_store 및 dataset에 매핑된 DatacacheConsumptionConfig를 만듭니다.
as_cache(datacache_store)
매개 변수
Name | Description |
---|---|
datacache_store
필수
|
하이드레이션에 사용될 데이터 캐시 저장소입니다. |
반환
형식 | Description |
---|---|
실행 시 데이터 캐시를 구체화하는 방법을 설명하는 구성 개체입니다. |
as_download
모드를 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
|
데이터를 사용할 수 있도록 하는 컴퓨팅의 대상 경로입니다. 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
모드를 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
|
데이터를 사용할 수 있도록 하는 컴퓨팅의 대상 경로입니다. Default value: None
|
설명
단일 파일의 경로에서 데이터 집합이 만들어질 때 탑재 지점은 단일 탑재된 파일의 경로가 됩니다. 그렇지 않으면 탑재 지점은 탑재된 모든 파일을 포함하는 폴더의 경로가 됩니다.
path_on_compute가 /로 시작하면 절대 경로로 처리됩니다. /로 시작하지 않으면 작업 디렉터리에 대한 상대 경로로 처리됩니다. 절대 경로를 지정한 경우 작업에 해당 디렉터리에 대한 쓰기 권한이 있는지 확인합니다.
download
데이터 집합에서 정의한 파일 스트림을 로컬 파일로 다운로드합니다.
download(target_path=None, overwrite=False, ignore_not_found=False)
매개 변수
Name | Description |
---|---|
target_path
필수
|
파일을 다운로드할 로컬 디렉터리입니다. None이면 데이터가 임시 디렉터리에 다운로드됩니다. |
overwrite
필수
|
기존 파일을 덮어쓸지 여부입니다. 기본값은 False입니다. 덮어쓰기가 True로 설정된 경우 기존 파일을 덮어씁니다. 그렇지 않으면 예외가 발생합니다. |
ignore_not_found
필수
|
데이터 집합이 가리키는 일부 파일을 찾을 수 없는 경우 다운로드 실패 여부입니다. 기본값은 False입니다. ignore_not_found가 False로 설정된 경우 어떤 이유로든 파일 다운로드가 실패하면 다운로드가 실패합니다. 그렇지 않으면 찾을 수 없음 오류에 대한 경고가 로그되고 다른 오류 형식이 발생하지 않는 한 다운로드에 성공합니다. |
반환
형식 | Description |
---|---|
다운로드한 각 파일에 대한 파일 경로의 배열을 반환합니다. |
설명
target_path가 /로 시작하면 절대 경로로 처리됩니다. /로 시작하지 않으면 현재 작업 디렉터리에 대한 상대 경로로 처리됩니다.
file_metadata
참고
이는 실험적인 메서드이며 언제든지 변경될 수도 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요.
메타데이터 열 이름을 지정하여 파일 메타데이터 식을 가져옵니다.
지원되는 파일 메타데이터 열은 Size, LastModifiedTime, CreationTime, Extension, CanSeek입니다.
file_metadata(col)
매개 변수
Name | Description |
---|---|
col
필수
|
열 이름입니다. |
반환
형식 | Description |
---|---|
<xref:azureml.dataprep.api.expression.RecordFieldExpression>
|
지정된 열의 값을 검색하는 식을 반환합니다. |
filter
참고
이는 실험적인 메서드이며 언제든지 변경될 수도 있습니다. 자세한 내용은 https://aka.ms/azuremlexperimental을 참조하세요.
지정된 식과 일치하는 레코드만 남겨두고 데이터를 필터링합니다.
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/azuremlexperimental을 참조하세요.
데이터 집합을 datacache_store에 지정된 요청된 복제본으로 하이드레이션합니다.
hydrate(datacache_store, replica_count=None)
매개 변수
Name | Description |
---|---|
datacache_store
필수
|
하이드레이션에 사용될 데이터 캐시 저장소입니다. |
replica_count
필수
|
<xref:Int>, <xref:optional>
하이드레이션할 복제본 수입니다. |
반환
형식 | Description |
---|---|
실행 시 데이터 캐시를 구체화하는 방법을 설명하는 구성 개체입니다. |
mount
데이터 집합에 의해 정의된 파일 스트림을 로컬 파일로 탑재하는 컨텍스트 관리자를 만듭니다.
mount(mount_point=None, **kwargs)
매개 변수
Name | Description |
---|---|
mount_point
필수
|
파일을 탑재할 로컬 디렉터리입니다. 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
필수
|
난수 생성기에 사용할 선택적 시드입니다. |
반환
형식 | Description |
---|---|
분할 후 두 데이터 집합을 나타내는 새 FileDataset 개체의 튜플을 반환합니다. |
skip
데이터 집합의 맨 위에서 지정된 개수만큼 파일 스트림을 건너뜁니다.
skip(count)
매개 변수
Name | Description |
---|---|
count
필수
|
건너뛸 파일 스트림의 수입니다. |
반환
형식 | Description |
---|---|
파일 스트림을 건너뛴 데이터 집합을 나타내는 새 FileDataset 개체를 반환합니다. |
take
데이터 집합의 맨 위에서 지정된 개수만큼 파일 스트림 샘플을 가져옵니다.
take(count)
매개 변수
Name | Description |
---|---|
count
필수
|
사용할 파일 스트림의 수입니다. |
반환
형식 | Description |
---|---|
샘플링된 데이터 집합을 나타내는 새 FileDataset 개체를 반환합니다. |
take_sample
데이터 집합의 임의 파일 스트림 샘플을 대략 지정된 확률만큼 가져옵니다.
take_sample(probability, seed=None)
매개 변수
Name | Description |
---|---|
probability
필수
|
파일 스트림이 샘플에 포함될 확률입니다. |
seed
필수
|
난수 생성기에 사용할 선택적 시드입니다. |
반환
형식 | 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']