AdlaStep 类

创建 Azure ML 管道步骤以使用 Azure Data Lake Analytics 运行 U-SQL 脚本。

有关使用 AdlaStep 的示例,请参阅笔记本 https://aka.ms/pl-adla

创建 Azure ML 管道步骤以使用 Azure Data Lake Analytics运行 U-SQL 脚本。

继承
azureml.pipeline.core._adla_step_base._AdlaStepBase
AdlaStep

构造函数

AdlaStep(script_name, name=None, inputs=None, outputs=None, params=None, degree_of_parallelism=None, priority=None, runtime_version=None, compute_target=None, source_directory=None, allow_reuse=True, version=None, hash_paths=None)

参数

名称 说明
script_name
必需
str

[必需] U-SQL 脚本的名称,相对于 source_directory

name
str

步骤的名称。 如果未指定,则使用 script_name

默认值: None
inputs

输入端口绑定的列表。

默认值: None
outputs

输出端口绑定的列表。

默认值: None
params

名称/值对的字典。

默认值: None
degree_of_parallelism
int

用于此作业的并行度。 此值必须大于 0。 如果设置为小于 0,则默认值为 1。

默认值: None
priority
int

用于当前作业的优先级值。 数字越小,优先级越高。 默认情况下,作业的优先级为 1000。 指定的值必须大于 0。

默认值: None
runtime_version
str

Data Lake Analytics 引擎的运行时版本。

默认值: None
compute_target

[必需] 用于此作业的 ADLA 计算。

默认值: None
source_directory
str

包含脚本、程序集等的文件夹。

默认值: None
allow_reuse

指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。

默认值: True
version
str

可选的版本标记,用于表示该步骤的功能更改。

默认值: None
hash_paths

已弃用:不再需要。

检查对步骤内容所做的更改时要哈希处理的路径列表。 如果未检测到更改,则管道将重用前一运行中的步骤内容。 默认情况下,将哈希处理 source_directory 的内容,.amlignore 或 .gitignore 中列出的文件除外。

默认值: None
script_name
必需
str

[必需] U-SQL 脚本的名称,相对于 source_directory

name
必需
str

步骤的名称。 如果未指定,则使用 script_name

inputs
必需

输入端口绑定列表

outputs
必需
list[Union[PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineAbstractOutputDataset>, OutputPortBinding]]

输出端口绑定的列表。

params
必需

名称/值对的字典。

degree_of_parallelism
必需
int

用于此作业的并行度。 此值必须大于 0。 如果设置为小于 0,则默认值为 1。

priority
必需
int

用于当前作业的优先级值。 数字越小,优先级越高。 默认情况下,作业的优先级为 1000。 指定的值必须大于 0。

runtime_version
必需
str

Data Lake Analytics 引擎的运行时版本。

compute_target
必需

[必需] 用于此作业的 ADLA 计算。

source_directory
必需
str

包含脚本、程序集等的文件夹。

allow_reuse
必需

指示当使用相同的设置重新运行时,该步骤是否应重用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重用此步骤以前运行的输出。 重用该步骤时,不是将作业提交到计算,而是使前一运行的结果立即可供后续步骤使用。 如果使用 Azure 机器学习数据集作为输入,则重用取决于数据集的定义是否已更改,而不是基础数据是否已更改。

version
必需
str

一个可选的版本标记,用于表示该步骤的功能更改。

hash_paths
必需

已弃用:不再需要。

检查对步骤内容所做的更改时要哈希处理的路径列表。 如果未检测到更改,则管道将重用前一运行中的步骤内容。 默认情况下,将哈希处理 source_directory 的内容,.amlignore 或 .gitignore 中列出的文件除外。

注解

可以在脚本中使用 @@name@@ 语法来引用输入、输出和参数。

  • 如果 name 是输入或输出端口绑定的名称,则脚本中出现的任何 @@name@@ 将替换为相应端口绑定的实际数据路径。

  • 如果 name 与 params 字典中的任一键匹配,则出现的任何 @@name@@ 将替换为字典中的相应值。

AdlaStep 仅适用于存储在 Data Lake Analytics 帐户的默认 Data Lake Storage 中的数据。 如果数据位于非默认存储中,请使用 DataTransferStep 将数据复制到默认存储。 可以通过在 Azure 门户中打开你的 Data Lake Analytics 帐户,然后在左侧窗格中导航到“设置”下的“数据源”项来找到默认存储。

以下示例演示如何在 Azure 机器学习管道中使用 AdlaStep。


   adla_step = AdlaStep(
       name='extract_employee_names',
       script_name='sample_script.usql',
       source_directory=sample_folder,
       inputs=[sample_input],
       outputs=[sample_output],
       compute_target=adla_compute)

https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-use-adla-as-compute-target.ipynb 中提供了完整示例

方法

create_node

从 AdlaStep 步骤创建一个节点并将其添加到指定的图。

此方法不能直接使用。 通过此步骤实例化管道时,Azure ML 会自动通过此方法传递所需的参数,以便可以将步骤添加到表示工作流的管道图中。

create_node

从 AdlaStep 步骤创建一个节点并将其添加到指定的图。

此方法不能直接使用。 通过此步骤实例化管道时,Azure ML 会自动通过此方法传递所需的参数,以便可以将步骤添加到表示工作流的管道图中。

create_node(graph, default_datastore, context)

参数

名称 说明
graph
必需

图对象。

default_datastore
必需

默认数据存储。

context
必需
<xref:azureml.pipeline.core._GraphContext>

图形上下文。

返回

类型 说明

节点对象。