你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ml 包

automl

包含 Azure 机器学习 SDKv2 的自动化机器学习类。

主要领域包括管理 AutoML 任务。

constants

此包定义 Azure 机器学习 SDKv2 中使用的常量。

data_transfer
dsl
entities

包含 Azure 机器学习 SDKv2 的实体和 SDK 对象。

主要领域包括管理计算目标、创建/管理工作区和作业、提交/访问模型、运行和运行输出/日志记录等。

identity

包含 Azure 机器学习 SDKv2 的标识配置。

operations

包含 Azure 机器学习 SDKv2 支持的操作。

操作是包含与后端服务交互的逻辑的类,通常是自动生成的操作调用。

parallel
sweep

模块

exceptions

包含 Azure 机器学习 SDKv2 中的异常模块。

这包括异常的枚举和类。

AmlTokenConfiguration

AzureML 令牌标识配置。

Input

初始化 Input 对象。

MLClient

用于与 Azure ML 服务交互的客户端类。

使用此客户端管理 Azure ML 资源,例如工作区、作业、模型等。

ManagedIdentityConfiguration

托管标识凭据配置。

MpiDistribution

MPI 分发配置。

Output
PyTorchDistribution

PyTorch 分发配置。

RayDistribution

注意

这是一个试验性的类,随时可能更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

光线分布配置。

TensorFlowDistribution

TensorFlow 分发配置。

UserIdentityConfiguration

用户标识配置。

函数

command

创建一个 Command 对象,该对象可在 dsl.pipeline 函数内使用或用作独立 Command 作业。

command(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, properties: Dict | None = None, display_name: str | None = None, command: str | None = None, experiment_name: str | None = None, environment: str | Environment | None = None, environment_variables: Dict | None = None, distribution: Dict | MpiDistribution | TensorFlowDistribution | PyTorchDistribution | RayDistribution | None = None, compute: str | None = None, inputs: Dict | None = None, outputs: Dict | None = None, instance_count: int | None = None, instance_type: str | None = None, locations: List[str] | None = None, docker_args: str | None = None, shm_size: str | None = None, timeout: int | None = None, code: PathLike | str | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, is_deterministic: bool = True, services: Dict[str, JobService | JupyterLabJobService | SshJobService | TensorBoardJobService | VsCodeJobService] | None = None, job_tier: str | None = None, priority: str | None = None, **kwargs) -> Command

参数

name
Optional[str]

命令作业或组件的名称。

description
Optional[str]

命令的说明。 默认值为“None”。

tags
Optional[dict[str, str]]

标记字典。 可以添加、删除和更新标记。 默认值为“None”。

properties
Optional[dict[str, str]]

作业属性字典。 默认值为“None”。

display_name
Optional[str]

作业的显示名称。 默认为随机生成的名称。

command
Optional[str]

要执行的命令。 默认值为“None”。

experiment_name
Optional[str]

将创建作业的试验的名称。 默认为当前目录名称。

environment
Optional[Union[str, Environment]]

运行作业的环境。

environment_variables
Optional[dict[str, str]]

环境变量名称和值的字典。 这些环境变量是在执行用户脚本的进程上设置的。 默认值为“None”。

distribution
Optional[Union[dict, PyTorchDistribution, MpiDistribution, TensorFlowDistribution, RayDistribution]]

分布式作业的配置。 默认值为“None”。

compute
Optional[str]

运行作业的计算目标。 默认为默认计算。

inputs
Optional[dict[str, Union[Input, str, bool, int, float, <xref:Enum>]]]

输入名称到作业中使用的输入数据源的映射。 默认值为“None”。

outputs
Optional[dict[str, Union[str, Output]]]

输出名称到作业中使用的输出数据源的映射。 默认值为“None”。

instance_count
Optional[int]

计算目标要使用的实例或节点数。 默认值为 1。

instance_type
Optional[str]

计算目标要使用的 VM 类型。

locations
Optional[list[str]]

运行作业的位置列表。

docker_args
Optional[str]

要传递给 Docker run 命令的额外参数。 这将替代系统或本部分中已设置的任何参数。 此参数仅支持 Azure ML 计算类型。 默认值为“None”。

shm_size
Optional[str]

Docker 容器的共享内存块的大小。 这应采用 (number) (单位) 格式,其中数字必须大于 0,单位可以是 b (字节) 、k (千字节) 、m (兆字节) 或 g (千兆字节) 之一。

timeout
Optional[int]

该数字(以秒为单位)之后将取消作业。

code
Optional[Union[str, PathLike]]

用于运行作业的源代码。 可以是指向远程位置的本地路径或“http:”、“https:”或“azureml:”URL。

identity
Optional[Union[ ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]

命令作业在计算运行时将使用的标识。

is_deterministic
bool

指定在给定相同输入的情况下,命令是否返回相同的输出。 默认为 True。 如果为 True,则如果命令组件是确定性的,并且之前已在当前工作区中使用相同的输入和设置运行,则当在管道中用作节点或步骤时,它将重复使用以前提交的作业的结果。 在这种情况下,不会使用计算资源。

services
Optional[dict[str, Union[JobService, JupyterLabJobService, SshJobService, TensorBoardJobService, VsCodeJobService]]]

节点的交互式服务。 默认值为“None”。 这是一个实验性参数,随时可能会更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

job_tier
Optional[str]

作业层。 接受的值为“Spot”、“Basic”、“Standard”或“Premium”。

priority
Optional[str]

计算中作业的优先级。 接受的值为“low”、“medium”和“high”。 默认为“medium”。

返回

Command 对象。

返回类型

示例

使用 command () 生成器方法创建命令作业。


   from azure.ai.ml import Input, Output, command

   train_func = command(
       environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
       command='echo "hello world"',
       distribution={"type": "Pytorch", "process_count_per_instance": 2},
       inputs={
           "training_data": Input(type="uri_folder"),
           "max_epochs": 20,
           "learning_rate": 1.8,
           "learning_rate_schedule": "time-based",
       },
       outputs={"model_output": Output(type="uri_folder")},
   )

load_batch_deployment

从 yaml 文件构造批处理部署对象。

load_batch_deployment(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> BatchDeployment

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

批处理部署对象的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

构造的批处理部署对象。

返回类型

load_batch_endpoint

从 yaml 文件构造批处理终结点对象。

load_batch_endpoint(source: str | PathLike | IO, relative_origin: str | None = None, **kwargs) -> BatchEndpoint

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

批处理终结点对象的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str
默认值: None

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

构造的批处理终结点对象。

返回类型

load_component

将组件从本地或远程加载到组件函数。

load_component(source: str | PathLike | IO | None = None, *, relative_origin: str | None = None, **kwargs) -> CommandComponent | ParallelComponent | PipelineComponent

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
默认值: None

组件的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

Component 对象

返回类型

示例

从 YAML 文件加载 Component 对象,将其版本重写为“1.0.2”,并远程注册它。


   from azure.ai.ml import load_component

   component = load_component(
       source="./sdk/ml/azure-ai-ml/tests/test_configs/components/helloworld_component.yml",
       params_override=[{"version": "1.0.2"}],
   )
   registered_component = ml_client.components.create_or_update(component)

load_compute

从 yaml 文件构造计算对象。

load_compute(source: str | PathLike | IO, *, relative_origin: str | None = None, params_override: List[Dict[str, str]] | None = None, **kwargs) -> Compute

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

计算的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
Optional[str]

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
Optional[List[Dict]]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

加载的计算对象。

返回类型

示例

从 YAML 文件加载 Compute 对象并重写其说明。


   from azure.ai.ml import load_compute

   compute = load_compute(
       "../tests/test_configs/compute/compute-vm.yaml",
       params_override=[{"description": "loaded from compute-vm.yaml"}],
   )

load_data

从 yaml 文件构造数据对象。

load_data(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> Data

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

数据对象的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

构造的 Data 或 DataImport 对象。

返回类型

例外

如果无法成功验证数据,则引发。 错误消息中将提供详细信息。

load_datastore

从 yaml 文件构造数据存储对象。

load_datastore(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> Datastore

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

数据存储的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

加载的数据存储对象。

返回类型

例外

如果无法成功验证数据存储,则引发。 错误消息中将提供详细信息。

load_environment

从 yaml 文件构造环境对象。

load_environment(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> Environment

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

环境的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

构造的环境对象。

返回类型

例外

如果无法成功验证 Environment,则引发。 错误消息中将提供详细信息。

load_job

从 YAML 文件构造 Job 对象。

load_job(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> Job

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

本地 YAML 文件或包含作业配置的已打开文件对象的路径。 如果源是路径,则会打开并读取该路径。 如果源是打开的文件,则将直接读取该文件。

relative_origin
Optional[str]

YAML 的根目录。 此目录将用作源,用于在分析的 YAML 中引用的文件的相对位置。 如果 source 是文件或文件路径输入,则默认为与 source 相同的目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
Optional[list[dict]]

用于覆盖 YAML 文件中值的参数字段。

返回

加载的 Job 对象。

返回类型

Job

例外

如果作业无法成功验证,则引发。 错误消息中将提供详细信息。

示例

从 YAML 配置文件加载作业。


   from azure.ai.ml import load_job

   job = load_job(source="./sdk/ml/azure-ai-ml/tests/test_configs/command_job/command_job_test_local_env.yml")

load_model

从 YAML 文件构造 Model 对象。

load_model(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> Model

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

本地 YAML 文件或包含作业配置的已打开文件对象的路径。 如果源是路径,则会打开并读取该路径。 如果源是打开的文件,则将直接读取该文件。

relative_origin
Optional[str]

YAML 的根目录。 此目录将用作源,用于在分析的 YAML 中引用的文件的相对位置。 如果 source 是文件或文件路径输入,则默认为与 source 相同的目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
Optional[list[dict]]

用于覆盖 YAML 文件中值的参数字段。

返回

加载的 Model 对象。

返回类型

例外

如果作业无法成功验证,则引发。 错误消息中将提供详细信息。

示例

从 YAML 配置文件加载模型,重写名称和版本参数。


   from azure.ai.ml import load_model

   model = load_model(
       source="./sdk/ml/azure-ai-ml/tests/test_configs/model/model_with_stage.yml",
       params_override=[{"name": "new_model_name"}, {"version": "1"}],
   )

load_model_package

注意

这是一个实验性的方法,可能会在任何时候更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

从 YAML 文件构造 ModelPackage 对象。

load_model_package(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> ModelPackage

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

本地 YAML 文件或包含作业配置的已打开文件对象的路径。 如果源是路径,则会打开并读取该路径。 如果源是打开的文件,则将直接读取该文件。

relative_origin
Optional[str]

YAML 的根目录。 此目录将用作源,用于在分析的 YAML 中引用的文件的相对位置。 如果 source 是文件或文件路径输入,则默认为与 source 相同的目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
Optional[list[dict]]

用于覆盖 YAML 文件中值的参数字段。

返回

加载的 ModelPackage 对象。

返回类型

例外

如果作业无法成功验证,则引发。 错误消息中将提供详细信息。

示例

从 YAML 配置文件加载 ModelPackage。


   from azure.ai.ml import load_model_package

   model_package = load_model_package(
       "./sdk/ml/azure-ai-ml/tests/test_configs/model_package/model_package_simple.yml"
   )

load_online_deployment

从 yaml 文件构造联机部署对象。

load_online_deployment(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> OnlineDeployment

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

联机部署对象的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

构造的联机部署对象。

返回类型

例外

如果无法成功验证联机部署,则引发。 错误消息中将提供详细信息。

load_online_endpoint

从 yaml 文件构造联机终结点对象。

load_online_endpoint(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> OnlineEndpoint

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

联机终结点对象的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

构造的联机终结点对象。

返回类型

例外

如果无法成功验证联机终结点,则引发。 错误消息中将提供详细信息。

load_registry

从 yaml 文件加载注册表对象。

load_registry(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> Registry

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

注册表的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

加载的注册表对象。

返回类型

load_workspace

从 yaml 文件加载工作区对象。

load_workspace(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> Workspace

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

工作区的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

加载的工作区对象。

返回类型

load_workspace_connection

从 yaml 文件构造工作区连接对象。

load_workspace_connection(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> WorkspaceConnection

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

工作区连接对象的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

构造的工作区连接对象。

返回类型

load_workspace_hub

注意

这是一个实验性的方法,可能会在任何时候更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

从 yaml 文件加载 WorkspaceHub 对象。

load_workspace_hub(source: str | PathLike | IO, *, relative_origin: str | None = None, **kwargs) -> WorkspaceHub

参数

source
Union[<xref:PathLike>, str, TextIOWrapper]
必需

WorkspaceHub 的本地 yaml 源。 必须是本地文件的路径或已打开的文件。 如果源是路径,它将打开并读取。 如果文件不存在,则会引发异常。 如果源是打开的文件,则将直接读取该文件,如果该文件不可读,则会引发异常。

relative_origin
str

在分析的 yaml 中引用的文件的相对位置时要使用的原点。 如果输入的源是文件或文件路径输入,则默认为该目录。 如果源是没有名称值的流输入,则默认为“./”。

params_override
List[Dict]

要覆盖 yaml 文件顶部的字段。 格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回

加载的 WorkspaceHub 对象。

返回类型

spark

创建可在 dsl.pipeline 函数内使用或用作独立 Spark 作业的 Spark 对象。

spark(*, experiment_name: str | None = None, name: str | None = None, display_name: str | None = None, description: str | None = None, tags: Dict | None = None, code: PathLike | str | None = None, entry: Dict[str, str] | SparkJobEntry | None = None, py_files: List[str] | None = None, jars: List[str] | None = None, files: List[str] | None = None, archives: List[str] | None = None, identity: Dict[str, str] | ManagedIdentity | AmlToken | UserIdentity | None = None, driver_cores: int | None = None, driver_memory: str | None = None, executor_cores: int | None = None, executor_memory: str | None = None, executor_instances: int | None = None, dynamic_allocation_enabled: bool | None = None, dynamic_allocation_min_executors: int | None = None, dynamic_allocation_max_executors: int | None = None, conf: Dict[str, str] | None = None, environment: str | Environment | None = None, inputs: Dict | None = None, outputs: Dict | None = None, args: str | None = None, compute: str | None = None, resources: Dict | SparkResourceConfiguration | None = None, **kwargs) -> Spark

参数

experiment_name
Optional[str]

将创建作业的试验的名称。

name
Optional[str]

作业的名称。

display_name
Optional[str]

作业显示名称。

description
Optional[str]

作业的说明。 默认值为“None”。

tags
Optional[dict[str, str]]

作业的标记字典。 可以添加、删除和更新标记。 默认值为“None”。

code

运行作业的源代码。 可以是指向远程位置的本地路径或“http:”、“https:”或“azureml:”URL。

entry
Optional[Union[dict[str, str], SparkJobEntry]]

文件或类入口点。

py_files
Optional[list[str]]

要放置在 Python 应用的 PYTHONPATH 上的 .zip、.egg 或 .py 文件的列表。 默认值为“None”。

jars
Optional[list[str]]

的列表。要包含在驱动程序和执行程序类路径上的 JAR 文件。 默认值为“None”。

files
Optional[list[str]]

要放置在每个执行程序的工作目录中的文件列表。 默认值为“None”。

archives
Optional[list[str]]

要提取到每个执行程序的工作目录中的存档列表。 默认值为“None”。

identity
Optional[Union[ dict[str, str], ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]

Spark 作业在计算运行时将使用的标识。

driver_cores
Optional[int]

仅在群集模式下用于驱动程序进程的核心数。

driver_memory
Optional[str]

要用于驱动程序进程的内存量,格式化为大小单位后缀 (“k”、“m”、“g”或“t”的字符串,) (例如“512m”、“2g”) 。

executor_cores
Optional[int]

每个执行程序上要使用的核心数。

executor_memory
Optional[str]

每个执行程序进程使用的内存量,格式化为大小单位后缀 (“k”、“m”、“g”或“t”的字符串,) (例如“512m”、“2g”) 。

executor_instances
Optional[int]

执行程序的初始数目。

dynamic_allocation_enabled
Optional[bool]

是否使用动态资源分配,这会根据工作负载缩放为此应用程序注册的执行程序数。

dynamic_allocation_min_executors
Optional[int]

如果启用了动态分配,则执行程序数的下限。

dynamic_allocation_max_executors
Optional[int]

如果启用了动态分配,则执行程序数的上限。

conf
Optional[dict[str, str]]

具有预定义 Spark 配置键和值的字典。 默认值为“None”。

environment
Optional[Union[str, Environment]]

要运行作业的 Azure ML 环境。

inputs
Optional[dict[str, Input]]

输入名称到作业中使用的输入数据的映射。 默认值为“None”。

outputs
Optional[dict[str, Output]]

输出名称到作业中使用的输出数据的映射。 默认值为“None”。

args
Optional[str]

作业的参数。

compute
Optional[str]

运行作业的计算资源。

resources
Optional[Union[dict, SparkResourceConfiguration]]

作业的计算资源配置。

返回

Spark 对象。

返回类型

示例

使用 DSL 管道修饰器生成 Spark 管道


   from azure.ai.ml import Input, Output, dsl, spark
   from azure.ai.ml.constants import AssetTypes, InputOutputModes

   # define the spark task
   first_step = spark(
       code="/src",
       entry={"file": "add_greeting_column.py"},
       py_files=["utils.zip"],
       files=["my_files.txt"],
       driver_cores=2,
       driver_memory="1g",
       executor_cores=1,
       executor_memory="1g",
       executor_instances=1,
       inputs=dict(
           file_input=Input(path="/dataset/iris.csv", type=AssetTypes.URI_FILE, mode=InputOutputModes.DIRECT)
       ),
       args="--file_input ${{inputs.file_input}}",
       resources={"instance_type": "standard_e4s_v3", "runtime_version": "3.2.0"},
   )

   second_step = spark(
       code="/src",
       entry={"file": "count_by_row.py"},
       jars=["scala_project.jar"],
       files=["my_files.txt"],
       driver_cores=2,
       driver_memory="1g",
       executor_cores=1,
       executor_memory="1g",
       executor_instances=1,
       inputs=dict(
           file_input=Input(path="/dataset/iris.csv", type=AssetTypes.URI_FILE, mode=InputOutputModes.DIRECT)
       ),
       outputs=dict(output=Output(type="uri_folder", mode=InputOutputModes.DIRECT)),
       args="--file_input ${{inputs.file_input}} --output ${{outputs.output}}",
       resources={"instance_type": "standard_e4s_v3", "runtime_version": "3.2.0"},
   )

   # Define pipeline
   @dsl.pipeline(description="submit a pipeline with spark job")
   def spark_pipeline_from_builder(data):
       add_greeting_column = first_step(file_input=data)
       count_by_row = second_step(file_input=data)
       return {"output": count_by_row.outputs.output}

   pipeline = spark_pipeline_from_builder(
       data=Input(path="/dataset/iris.csv", type=AssetTypes.URI_FILE, mode=InputOutputModes.DIRECT),
   )