DataTransferStep 클래스

스토리지 옵션 간에 데이터를 전송하는 Azure ML 파이프라인 단계를 만듭니다.

DataTransferStep은 원본 및 싱크로 Azure Blob Storage 및 Azure Data Lake와 같은 일반적인 스토리지 형식을 지원합니다. 자세한 내용은 주의 섹션을 참조하세요.

DataTransferStep 사용 예제는 Notebook https://aka.ms/pl-data-trans를 참조하세요.

스토리지 옵션 간에 데이터를 전송하는 Azure ML 파이프라인 단계를 만듭니다.

상속
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBase
DataTransferStep

생성자

DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)

매개 변수

name
str
필수

[필수] 단계의 이름입니다.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
기본값: None

[필수] 데이터 전송 작업의 원본 역할을 하는 입력 연결입니다.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
기본값: None

[필수] 데이터 전송 작업의 대상 역할을 하는 출력 연결입니다.

compute_target
DataFactoryCompute, str
기본값: None

[필수] 데이터 전송에 사용할 Azure Data Factory입니다.

source_reference_type
str
기본값: None

source_data_reference의 형식을 지정하는 선택적 문자열입니다. 가능한 값은 'file', 'directory'입니다. 지정하지 않으면 기존 경로의 형식이 사용됩니다. 이 매개 변수를 사용하여 동일한 이름의 파일과 디렉터리를 구분합니다.

destination_reference_type
str
기본값: None

destination_data_reference의 형식을 지정하는 선택적 문자열입니다. 가능한 값은 'file', 'directory'입니다. 지정하지 않으면 Azure ML은 해당 순서대로 기존 경로, 원본 참조 또는 '디렉터리' 형식을 사용합니다.

allow_reuse
bool
기본값: True

동일한 설정으로 다시 실행할 때 단계에서 이전 결과를 재사용해야 하는지 여부를 나타냅니다. 기본적으로 재사용하도록 설정됩니다. 단계 인수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행 출력이 다시 사용됩니다. 단계를 재사용할 때, 데이터를 다시 전송하는 대신 이전 실행의 결과를 후속 단계에 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 세트를 입력으로 사용하는 경우 재사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 세트의 정의가 변경되었는지 여부에 따라 결정됩니다.

name
str
필수

[필수] 단계의 이름입니다.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
필수

[필수] 데이터 전송 작업의 원본 역할을 하는 입력 연결입니다.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
필수

[필수] 데이터 전송 작업의 대상 역할을 하는 출력 연결입니다.

compute_target
DataFactoryCompute, str
필수

[필수] 데이터 전송에 사용할 Azure Data Factory입니다.

source_reference_type
str
필수

source_data_reference의 형식을 지정하는 선택적 문자열입니다. 가능한 값은 'file', 'directory'입니다. 지정하지 않으면 기존 경로의 형식이 사용됩니다. 이 매개 변수를 사용하여 동일한 이름의 파일과 디렉터리를 구분합니다.

destination_reference_type
str
필수

destination_data_reference의 형식을 지정하는 선택적 문자열입니다. 가능한 값은 'file', 'directory'입니다. 지정하지 않으면 Azure ML은 해당 순서대로 기존 경로, 원본 참조 또는 '디렉터리' 형식을 사용합니다.

allow_reuse
bool
필수

동일한 설정으로 다시 실행할 때 단계에서 이전 결과를 재사용해야 하는지 여부를 나타냅니다. 기본적으로 재사용하도록 설정됩니다. 단계 인수가 변경되지 않은 상태로 유지되면 이 단계의 이전 실행 출력이 다시 사용됩니다. 단계를 재사용할 때, 데이터를 다시 전송하는 대신 이전 실행의 결과를 후속 단계에 즉시 사용할 수 있습니다. Azure Machine Learning 데이터 세트를 입력으로 사용하는 경우 재사용은 기본 데이터가 변경되었는지 여부가 아니라 데이터 세트의 정의가 변경되었는지 여부에 따라 결정됩니다.

설명

이 단계에서는 명시된 경우를 제외하고 다음 스토리지 유형을 원본 및 싱크로 지원합니다.

  • Azure Blob Storage

  • Azure Data Lake Storage Gen1 및 Gen2

  • Azure SQL Database

  • Azure Database for PostgreSQL

  • Azure Database for MySQL

Azure SQL Database의 경우 서비스 주체 인증을 사용해야 합니다. 자세한 내용은 서비스 주체 인증을 참조하세요. Azure SQL Database에 대한 서비스 주체 인증을 사용하는 예제는 https://aka.ms/pl-data-trans을 참조하세요.

단계 간에 데이터 종속성을 설정하려면 get_output 메서드를 사용하여 이 데이터 전송 단계의 출력을 나타내는 PipelineData 개체를 가져와 파이프라인의 이후 단계에 대한 입력으로 사용할 수 있습니다.


   data_transfer_step = DataTransferStep(name="copy data", ...)

   # Use output of data_transfer_step as input of another step in pipeline
   # This will make training_step wait for data_transfer_step to complete
   training_input = data_transfer_step.get_output()
   training_step = PythonScriptStep(script_name="train.py",
                           arguments=["--model", training_input],
                           inputs=[training_input],
                           compute_target=aml_compute,
                           source_directory=source_directory)

특정 이름을 사용하여 InputPortBinding을 만들려면 get_output() 출력을 PipelineDataas_input 또는 as_mount 메서드와 결합할 수 있습니다.


   data_transfer_step = DataTransferStep(name="copy data", ...)
   training_input = data_transfer_step.get_output().as_input("my_input_name")

메서드

create_node

DataTransfer 단계에서 노드를 만들고 지정된 그래프에 추가합니다.

이 메서드는 직접 사용할 수 없습니다. 이 단계에서 파이프라인이 인스턴스화되면 Azure ML은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다.

get_output

단계의 출력을 PipelineData로 가져옵니다.

create_node

DataTransfer 단계에서 노드를 만들고 지정된 그래프에 추가합니다.

이 메서드는 직접 사용할 수 없습니다. 이 단계에서 파이프라인이 인스턴스화되면 Azure ML은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다.

create_node(graph, default_datastore, context)

매개 변수

graph
Graph
필수

노드를 추가할 그래프 개체입니다.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
필수

기본 데이터 저장소입니다.

context
<xref:azureml.pipeline.core._GraphContext>
필수

그래프 컨텍스트입니다.

반환

만들어진 노드입니다.

반환 형식

get_output

단계의 출력을 PipelineData로 가져옵니다.

get_output()

반환

단계의 출력입니다.

반환 형식

설명

단계 간에 데이터 종속성을 설정하려면 get_output 메서드를 사용하여 이 데이터 전송 단계의 출력을 나타내는 PipelineData 개체를 가져와 파이프라인의 이후 단계에 대한 입력으로 사용할 수 있습니다.


   data_transfer_step = DataTransferStep(name="copy data", ...)

   # Use output of data_transfer_step as input of another step in pipeline
   # This will make training_step wait for data_transfer_step to complete
   training_input = data_transfer_step.get_output()
   training_step = PythonScriptStep(script_name="train.py",
                           arguments=["--model", training_input],
                           inputs=[training_input],
                           compute_target=aml_compute,
                           source_directory=source_directory)

특정 이름을 사용하여 InputPortBinding을 만들려면 get_output() 호출을 as_input 또는 as_mount 도우미 메서드와 결합할 수 있습니다.


   data_transfer_step = DataTransferStep(name="copy data", ...)

   training_input = data_transfer_step.get_output().as_input("my_input_name")