適用対象:Azure CLI ml 拡張機能 v2 (現行)
注
このドキュメントで詳しく説明されている YAML 構文は、最新バージョンの ML CLI v2 拡張機能の JSON スキーマに基づいています。 この構文は、ML CLI v2 拡張機能の最新バージョンでのみ動作することが保証されています。 以前のバージョンの拡張機能のスキーマについては、https://azuremlschemasprod.azureedge.net/ でご確認いただけます。
YAML 構文
キー | タイプ | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
$schema |
ひも | YAML スキーマ。 Azure Machine Learning 用 VS Code 拡張機能を使用して YAML ファイルを作成する場合は、ファイルの先頭に $schema を含めることで、スキーマとリソースの入力候補を呼び出すことができます。 |
||
type |
定数 | 必須です。 ジョブの種類。 | spark |
|
name |
ひも | ジョブの名前。 ワークスペース内のすべてのジョブで一意である必要があります。 省略した場合、Azure Machine Learning によって名前の GUID が自動生成されます。 | ||
display_name |
ひも | スタジオ UI でのジョブの表示名。 ワークスペース内で一意ではない場合があります。 省略した場合、Azure Machine Learning により、表示名として、人間が判読できる形容詞と名詞の識別子が自動生成されます。 | ||
experiment_name |
ひも | ジョブを整理するための実験名。 各ジョブの実行レコードは、スタジオの [実験] タブの対応する実験の下に編成されます。 省略された場合、Azure Machine Learning では、ジョブが作成された作業ディレクトリの名前が既定で設定されます。 | ||
description |
ひも | ジョブの説明。 | ||
tags |
オブジェクト | ジョブのタグの辞書。 | ||
code |
ひも | アップロードしてジョブに使用するソース コード ディレクトリへのローカル パス。 | ||
code |
ひも | 必須です。 このジョブのソース コードとスクリプトを含むフォルダーの場所。 | ||
entry |
オブジェクト | 必須です。 ジョブのエントリ ポイント。
file を定義できます。 |
||
entry.file |
ひも | このジョブのソース コードとスクリプトを含むフォルダーの場所。 | ||
py_files |
オブジェクト | ジョブを正常に実行するために .zip に配置する、.egg 、.py 、または PYTHONPATH ファイルの一覧。 |
||
jars |
オブジェクト | ジョブを正常に実行するために、Spark ドライバーに含める .jar ファイルの一覧と、Executor の CLASSPATH 。 |
||
files |
オブジェクト | ジョブの実行を成功させるために、各 Executor の作業ディレクトリにコピーする必要があるファイルの一覧。 | ||
archives |
オブジェクト | ジョブの実行を成功させるために、各 Executor の作業ディレクトリに抽出する必要があるアーカイブの一覧。 | ||
conf |
オブジェクト | Spark ドライバーと Executor プロパティ。 「conf キーの属性」を参照してください |
||
environment |
文字列またはオブジェクト | ジョブに使用する環境。 この環境は、ワークスペース内の既存のバージョン管理された環境への参照、またはインライン環境仕様のいずれかになります。 既存の環境を参照するには、 azureml:<environment_name>:<environment_version> 構文または azureml:<environment_name>@latest (環境の最新バージョンを参照する場合) を使用します。 環境をインラインで定義するには、環境スキーマに従います。 name と version プロパティは、インライン環境ではサポートされていないため除外します。 |
||
args |
ひも | ジョブ エントリ ポイントの Python スクリプトに渡す必要があるコマンド ライン引数。 これらの引数には、入力データのパスと、出力を書き込む場所が含まれる場合があります (例: "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" ) |
||
resources |
オブジェクト | Azure Machine Learning サーバーレス Spark コンピューティングで使われるリソース。
compute または resources のいずれかが定義されている必要があります。 |
||
resources.instance_type |
ひも | Spark プールに使われるコンピューティング インスタンスの種類。 |
standard_e4s_v3 、 standard_e8s_v3 、 standard_e16s_v3 、 standard_e32s_v3 、 standard_e64s_v3 。 |
|
resources.runtime_version |
ひも | Spark ランタイムのバージョン。 |
3.2 、3.3 |
|
compute |
ひも | ジョブを実行するアタッチされた Synapse Spark プールの名前。
compute または resources のいずれかが定義されている必要があります。 |
||
inputs |
オブジェクト | ジョブへの入力の辞書。 キーは、ジョブのコンテキスト内の入力の名前であり、値は入力値です。 入力は、 args 式を使用して ${{ inputs.<input_name> }} で参照できます。 |
||
inputs.<input_name> |
数値、整数、ブール値、文字列、またはオブジェクト | リテラル値 (型番号、整数、ブール値、または文字列) のいずれか、またはジョブ入力データ仕様を含むオブジェクト。 | ||
outputs |
オブジェクト | ジョブの出力構成の辞書。 キーはジョブのコンテキスト内の出力の名前であり、値は出力構成です。 出力は、 args 式を使用して ${{ outputs.<output_name> }} で参照できます。 |
||
outputs.<output_name> |
オブジェクト | Spark ジョブの出力。 Spark ジョブの出力は、ジョブ出力仕様を含むオブジェクトを指定することで、ファイルまたはフォルダーの場所に書き込むことができます。 | ||
identity |
オブジェクト | ID は、データアクセスに使用されます。 UserIdentityConfiguration、ManagedIdentityConfiguration、または None を指定できます。 UserIdentityConfiguration の場合、ジョブ送信者の ID を使って入力データにアクセスし、結果を出力フォルダーに書き込みます。 それ以外の場合、適切な ID は Spark コンピューティングの種類に基づきます。 |
conf
キーの属性
キー | タイプ | 説明 | 既定値 |
---|---|---|---|
spark.driver.cores |
整数 | Spark ドライバー用のコアの数。 | |
spark.driver.memory |
ひも | Spark ドライバー用に割り当てられたメモリ (ギガバイト (GB) 単位)。たとえば、2g 。 |
|
spark.executor.cores |
整数 | Spark Executor 用のコアの数。 | |
spark.executor.memory |
ひも | Spark Executor 用に割り当てられたメモリ (ギガバイト (GB) 単位)。たとえば、2g 。 |
|
spark.dynamicAllocation.enabled |
ブーリアン | Executor を動的に割り当てる必要があるかどうか。値は True または False 。 このプロパティが True に設定されている場合は、spark.dynamicAllocation.minExecutors と spark.dynamicAllocation.maxExecutors を定義します。 このプロパティが False に設定されている場合、spark.executor.instances を定義します。 |
False |
spark.dynamicAllocation.minExecutors |
整数 | 動的割り当て用の Spark Executor インスタンスの最小数。 | |
spark.dynamicAllocation.maxExecutors |
整数 | 動的割り当て用の Spark Executor インスタンスの最大数。 | |
spark.executor.instances |
整数 | Spark Executor インスタンスの数。 |
ジョブの入力
キー | タイプ | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
type |
ひも | ジョブ入力の種類。 1 つのファイル ソースを指す入力データの場合は uri_file 、フォルダー ソースを指す入力データの場合は uri_folder を指定します。
データ アクセスの詳細について確認してください。 |
uri_file 、uri_folder |
|
path |
ひも | 入力として使用するデータのパス。 入力データの URI (azureml:// 、abfss:// 、wasbs:// など) を使用できます。
azureml:// URI 形式の使用方法の詳細については、コア yaml 構文に関する記事を参照してください。 |
||
mode |
ひも | コンピューティング先にデータを配信する方法のモード。
direct モードでは、ジョブ入力として保存場所の URL が渡されます。 ストレージのアクセス資格情報の取り扱いは、全面的にユーザーの責任になります。 |
direct |
ジョブ出力
キー | タイプ | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
type |
ひも | ジョブ出力の種類。 |
uri_file 、uri_folder |
|
path |
ひも | 入力データの URI (azureml:// 、abfss:// 、wasbs:// など)。 |
||
mode |
ひも | 宛先ストレージ リソースへの出力ファイル配信のモード。 | direct |
ID の構成
UserIdentityConfiguration
キー | タイプ | 説明 | 使用できる値 |
---|---|---|---|
type |
定数 | 必須です。 ID の型。 | user_identity |
ManagedIdentityConfiguration
キー | タイプ | 説明 | 使用できる値 |
---|---|---|---|
type |
定数 | 必須です。 ID の型。 | managed |
解説
az ml job
コマンドを使って、Azure Machine Learning Spark ジョブを管理できます。
例
サンプルの GitHub リポジトリの例を参照してください。 いくつか次に示します。
YAML: アタッチされた Synapse Spark プールとマネージド ID を使うスタンドアロンの Spark ジョブ
# attached-spark-standalone-managed-identity.yaml
$schema: https://azuremlschemas.azureedge.net/latest/sparkJob.schema.json
type: spark
code: ./src
entry:
file: titanic.py
conf:
spark.driver.cores: 1
spark.driver.memory: 2g
spark.executor.cores: 2
spark.executor.memory: 2g
spark.executor.instances: 2
inputs:
titanic_data:
type: uri_file
path: azureml://datastores/workspaceblobstore/paths/data/titanic.csv
mode: direct
outputs:
wrangled_data:
type: uri_folder
path: azureml://datastores/workspaceblobstore/paths/data/wrangled/
mode: direct
args: >-
--titanic_data ${{inputs.titanic_data}}
--wrangled_data ${{outputs.wrangled_data}}
identity:
type: managed
compute: <ATTACHED_SPARK_POOL_NAME>