DataTransferStep 类
创建在存储选项之间传输数据的 Azure ML 管道步骤。
DataTransferStep 支持常见的存储类型,例如作为源和接收器的 Azure Blob 存储和 Azure Data Lake。 有关详细信息,请参阅备注部分。
有关使用 DataTransferStep 的示例,请参阅笔记本 https://aka.ms/pl-data-trans。
创建在存储选项之间传输数据的 Azure ML Pipeline 步骤。
- 继承
-
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBaseDataTransferStep
构造函数
DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)
参数
- source_data_reference
- Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
[必需] 充当数据传输操作源的输入连接。
- destination_data_reference
- Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
[必需] 充当数据传输操作目标的输出连接。
- source_reference_type
- str
一个用于指定 source_data_reference
类型的可选字符串。 可能的值包括:“file”、“directory”。 如果未指定,则使用现有路径的类型。
使用此参数可以区分同名的文件和目录。
- destination_reference_type
- str
一个用于指定 destination_data_reference
类型的可选字符串。
可能的值包括:“file”、“directory”。 如果未指定,Azure ML 将使用现有路径、源引用或“directory”的类型(按该顺序使用)。
- allow_reuse
- bool
指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤参数保持不变,则重用此步骤的上一个运行的输出。 重用该步骤时,不是再次传输数据,而是使上一个运行的结果立即可供任何后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。
- source_data_reference
- Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
[必需] 充当数据传输操作源的输入连接。
- destination_data_reference
- Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
[必需] 充当数据传输操作目标的输出连接。
- source_reference_type
- str
一个用于指定 source_data_reference
类型的可选字符串。 可能的值包括:“file”、“directory”。 如果未指定,则使用现有路径的类型。
使用此参数可以区分同名的文件和目录。
- destination_reference_type
- str
一个用于指定 destination_data_reference
类型的可选字符串。
可能的值包括:“file”、“directory”。 如果未指定,Azure ML 将使用现有路径、源引用或“directory”的类型(按该顺序使用)。
- allow_reuse
- bool
指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤参数保持不变,则重用此步骤的上一个运行的输出。 重用该步骤时,不是再次传输数据,而是使上一个运行的结果立即可供任何后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。
注解
除非另有说明,否则此步骤支持将以下存储类型用作源和接收器:
Azure Blob 存储
Azure Data Lake Storage Gen1 和 Gen2
Azure SQL 数据库
Azure Database for PostgreSQL
Azure Database for MySQL
对于 Azure SQL 数据库,必须使用服务主体身份验证。 有关详细信息,请参阅服务主体身份验证。 有关对 Azure SQL 数据库使用服务主体身份验证的示例,请参阅 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() 输出与 PipelineData 的 as_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)
参数
- 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")
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈