適用対象: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 |
ひも | 必須。 コンポーネント名。 先頭には小文字を使用する必要があります。 使用できる文字は、小文字、数字、アンダースコア (_) です。 最大文字数は 255 文字です。 | ||
version |
ひも | コンポーネントのバージョン。 省略した場合、Azure Machine Learning によってバージョンが自動生成されます。 | ||
display_name |
ひも | Studio UI でのコンポーネントの表示名。 ワークスペース内で一意ではない場合があります。 | ||
description |
ひも | コンポーネントの説明。 | ||
tags |
オブジェクト | コンポーネントのタグの辞書。 | ||
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>}}" ) |
||
inputs |
オブジェクト | コンポーネント入力の辞書。 キーは、コンポーネントのコンテキスト内の入力の名前であり、値は入力値です。 入力は、 args 式を使用して ${{ inputs.<input_name> }} で参照できます。 |
||
inputs.<input_name> |
数値、整数、ブール値、文字列、またはオブジェクト | リテラル値 (型番号、整数、ブール値、または文字列) のいずれか、またはコンポーネント入力データ仕様を含むオブジェクト。 | ||
outputs |
オブジェクト | コンポーネントの出力構成の辞書。 キーはコンポーネントのコンテキスト内の出力の名前であり、値は出力構成です。 出力は、 args 式を使用して ${{ outputs.<output_name> }} で参照できます。 |
||
outputs.<output_name> |
オブジェクト | Spark コンポーネントの出力。 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 |
|
mode |
ひも | コンピューティング先にデータを配信する方法のモード。
direct モードでは、保存場所の URL がコンポーネント入力として渡されます。 ストレージ アクセスの資格情報を扱うすべての責任はお客様にあります。 |
direct |
コンポーネントの出力
キー | タイプ | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
type |
ひも | コンポーネント出力の種類。 |
uri_file 、uri_folder |
|
mode |
ひも | 出力ファイルを宛先ストレージ リソースに配信するモード。 | direct |
解説
az ml component
コマンドを使用して、Azure Machine Learning Spark コンポーネントを管理できます。
例
例は、GitHub リポジトリの例にあります。 いくつかを次に示します。
YAML: サンプル Spark コンポーネント
# spark-job-component.yaml
$schema: https://azuremlschemas.azureedge.net/latest/sparkComponent.schema.json
name: titanic_spark_component
type: spark
version: 1
display_name: Titanic-Spark-Component
description: Spark component for Titanic data
code: ./src
entry:
file: titanic.py
inputs:
titanic_data:
type: uri_file
mode: direct
outputs:
wrangled_data:
type: uri_folder
mode: direct
args: >-
--titanic_data ${{inputs.titanic_data}}
--wrangled_data ${{outputs.wrangled_data}}
conf:
spark.driver.cores: 1
spark.driver.memory: 2g
spark.executor.cores: 2
spark.executor.memory: 2g
spark.dynamicAllocation.enabled: True
spark.dynamicAllocation.minExecutors: 1
spark.dynamicAllocation.maxExecutors: 4
YAML: Spark コンポーネントを使用するサンプル パイプライン ジョブ
# attached-spark-pipeline-user-identity.yaml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: Titanic-Spark-CLI-Pipeline-2
description: Spark component for Titanic data in Pipeline
jobs:
spark_job:
type: spark
component: ./spark-job-component.yml
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
identity:
type: user_identity
compute: <ATTACHED_SPARK_POOL_NAME>