ml 套件

套件

automl

包含 Azure Machine Learning SDKv2 的自動化機器學習類別。

主要區域包括管理 AutoML 工作。

constants

此套件會定義 Azure Machine Learning SDKv2 中使用的常數。

data_transfer
dsl
entities

包含 Azure Machine Learning SDKv2 的實體和 SDK 物件。

主要領域包括管理計算目標、建立/管理工作區和作業,以及提交/存取模型、執行和執行輸出/記錄等。

identity

包含 Azure Machine Learning SDKv2 的身分識別組態。

operations

包含 Azure Machine Learning SDKv2 支援的作業。

作業是包含與後端服務互動的邏輯,通常是自動產生的作業呼叫。

parallel
sweep

單元

exceptions

在 Azure Machine Learning 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]

命令的描述。 預設為 [無]。

tags
Optional[dict[str, str]]

標記字典。 標記可以新增、移除和更新。 預設為 [無]。

properties
Optional[dict[str, str]]

job 屬性字典。 預設為 [無]。

display_name
Optional[str]

作業的顯示名稱。 預設為隨機產生的名稱。

command
Optional[str]

要執行的命令。 預設為 [無]。

experiment_name
Optional[str]

將建立作業的實驗名稱。 預設為目前的目錄名稱。

environment
Optional[Union[str, Environment]]

作業將執行的環境。

environment_variables
Optional[dict[str, str]]

環境變數名稱和值的字典。 這些環境變數會在執行使用者指令碼的程序上設定。 預設為 [無]。

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

分散式作業的組態。 預設為 [無]。

compute
Optional[str]

作業將執行的目標計算目標。 預設為預設計算。

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

輸入名稱與作業中使用的輸入資料來源對應。 預設為 [無]。

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

輸出名稱與作業中使用的輸出資料來源對應。 預設為 [無]。

instance_count
Optional[int]

計算目標要使用的實例或節點數目。 預設值為 1。

instance_type
Optional[str]

計算目標要使用的 VM 類型。

locations
Optional[list[str]]

作業將執行的位置清單。

docker_args
Optional[str]

要傳遞至 Docker run 命令的額外引數。 這會覆寫系統或本節中已設定的任何參數。 此參數僅支援 Azure ML 計算類型。 預設為 [無]。

shm_size
Optional[str]

Docker 容器的共用記憶體區塊大小。 這應該是 (number) (單位) 的格式,其中數位必須大於 0,而單位可以是 b (位元組) 、k (kb) 、m (MB) 或 g (GB) 。

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]]]

節點的互動式服務。 預設為 [無]。 這是實驗性參數,可以隨時變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。

job_tier
Optional[str]

作業層。 接受的值為 「Spot」、「Basic」、「Standard」 或 「Premium」。

priority
Optional[str]

計算上作業的優先順序。 接受的值為 「low」、「medium」 和 「high」。 預設為 「medium」。

傳回

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」}]

傳回

建構的資料或 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」}]

傳回

建構的環境物件。

傳回類型

例外狀況

如果無法成功驗證環境,則會引發 。 錯誤訊息中將會提供詳細資料。

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 中參考之檔案的相對位置的來源。 如果來源是檔案或檔案路徑輸入,則預設為與來源相同的目錄。 如果來源是沒有名稱值的資料流程輸入,則預設為 「./」。

params_override
Optional[list[dict]]

要覆寫 YAML 檔案中值的參數欄位。

傳回

載入的 Job 物件。

傳回類型

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 中參考之檔案的相對位置的來源。 如果來源是檔案或檔案路徑輸入,則預設為與來源相同的目錄。 如果來源是沒有名稱值的資料流程輸入,則預設為 「./」。

params_override
Optional[list[dict]]

要覆寫 YAML 檔案中值的參數欄位。

傳回

載入的 Model 物件。

傳回類型

例外狀況

如果無法成功驗證 Job,則引發 。 錯誤訊息中將會提供詳細資料。

範例

從 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 中所參考檔案的相對位置。 如果來源是檔案或檔案路徑輸入,則預設為與來源相同的目錄。 如果來源是沒有名稱值的資料流程輸入,則預設為 「./」。

params_override
Optional[list[dict]]

要覆寫 YAML 檔案中值的參數欄位。

傳回

載入的 ModelPackage 物件。

傳回類型

例外狀況

如果無法成功驗證 Job,則引發 。 錯誤訊息中將會提供詳細資料。

範例

從 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

建立 Spark 物件,該物件可在 dsl.pipeline 函式內使用,或當做獨立 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]

這是作業的描述。 預設為 [無]。

tags
Optional[dict[str, str]]

作業標籤的字典。 標記可以新增、移除和更新。 預設為 [無]。

code

要執行作業的原始程式碼。 可以是指向遠端位置的本機路徑或 「HTTP:」、「HTTPs:」或 「azureml:」 URL。

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

檔案或類別進入點。

py_files
Optional[list[str]]

要放在 Python 應用程式的 PYTHONPATH 上 .zip、.egg 或 .py 檔案的清單。 預設為 [無]。

jars
Optional[list[str]]

的清單。要包含在驅動程式和執行程式類別路徑上的 JAR 檔案。 預設為 [無]。

files
Optional[list[str]]

要放在每個執行程式工作目錄中的檔案清單。 預設為 [無]。

archives
Optional[list[str]]

要擷取到每個執行程式的工作目錄中的封存清單。 預設為 [無]。

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 組態索引鍵和值的字典。 預設為 [無]。

environment
Optional[Union[str, Environment]]

要執行作業的 Azure ML 環境。

inputs
Optional[dict[str, Input]]

輸入名稱與作業中使用的輸入資料對應。 預設為 [無]。

outputs
Optional[dict[str, Output]]

輸出名稱與作業中使用的輸出資料對應。 預設為 [無]。

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),
   )