CLI(v2) Spark 작업 YAML 스키마
적용 대상:Azure CLI ml 확장 v2(현재)
참고 항목
이 문서에 자세히 설명된 YAML 구문은 최신 버전의 ML CLI v2 확장에 대한 JSON 스키마를 기반으로 합니다. 이 구문은 최신 버전의 ML CLI v2 확장에서만 작동하도록 보장됩니다. https://azuremlschemasprod.azureedge.net/에서 이전 확장 버전에 대한 스키마를 찾을 수 있습니다.
YAML 구문
키 | 형식 | 설명 | 허용된 값 | 기본값 |
---|---|---|---|---|
$schema |
string | YAML 스키마입니다. Azure Machine Learning VS Code 확장을 사용하여 YAML 파일을 제작하는 경우 파일 맨 위에 $schema 를 포함하여 스키마 및 리소스 완성을 호출할 수 있습니다. |
||
type |
const | 필수입니다. 작업의 유형입니다. | spark |
|
name |
string | 작업의 이름입니다. 작업 영역의 모든 작업에서 고유해야 합니다. 생략하면 Azure Machine Learning이 이름에 대한 GUID를 자동 생성합니다. | ||
display_name |
string | 스튜디오 UI에서 작업의 표시 이름입니다. 작업 영역 내에서 고유하지 않을 수 있습니다. 생략하면 Azure Machine Learning이 표시 이름에 대한 인간이 읽을 수 있는 형용사-명사 식별자를 자동으로 생성합니다. | ||
experiment_name |
string | 작업을 구성할 실험 이름입니다. 각 작업의 실행 기록은 스튜디오의 "실험" 탭에 있는 해당 실험 아래에 구성됩니다. 생략하면 Azure Machine Learning은 작업이 만들어진 작업 디렉터리의 이름을 기본값으로 사용합니다. | ||
description |
string | 작업에 대한 설명입니다. | ||
tags |
개체 | 작업에 대한 태그 사전입니다. | ||
code |
string | 업로드하여 작업에 사용할 소스 코드 디렉터리의 로컬 경로입니다. | ||
code |
string | 필수입니다. 이 작업의 소스 코드와 스크립트를 포함하는 폴더 위치입니다. | ||
entry |
개체 | 필수입니다. 작업의 진입점입니다. 를 정의할 수 있습니다 file . |
||
entry.file |
string | 이 작업의 소스 코드와 스크립트를 포함하는 폴더 위치입니다. | ||
py_files |
개체 | 작업을 성공적으로 실행하기 위해 PYTHONPATH 에 배치할 .zip , .egg 또는 .py 파일 목록입니다. |
||
jars |
개체 | 작업을 성공적으로 실행하기 위해 Spark 드라이버에 포함할 .jar 파일 목록과 CLASSPATH 실행기를 정의합니다. |
||
files |
개체 | 작업을 성공적으로 실행하기 위해 각 실행기의 작업 디렉터리에 복사해야 하는 파일 목록을 정의합니다. | ||
archives |
개체 | 작업을 성공적으로 실행하기 위해 각 실행기의 작업 디렉터리로 추출해야 하는 보관 목록을 정의합니다. | ||
conf |
개체 | Spark 드라이버 및 실행기 속성. conf 키의 특성을 참조하세요. |
||
environment |
문자열 또는 개체 | 작업에 사용할 환경입니다. 환경은 작업 영역의 기존 버전 환경에 대한 참조이거나 인라인 환경 사양일 수 있습니다. 기존 환경을 참조하려면 azureml:<environment_name>:<environment_version> 구문 또는 azureml:<environment_name>@latest (최신 버전의 환경 참조)를 사용합니다. 환경을 인라인으로 정의하려면 환경 스키마를 따릅니다. 인라인 환경에서는 지원하지 않으므로 name 및 version 속성을 제외합니다. |
||
args |
string | 작업 진입점 Python 스크립트에 전달되어야 하는 명령줄 인수입니다. 이러한 인수에는 입력 데이터 경로, 출력을 쓸 위치가 포함될 수 있습니다(예: "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" ). |
||
resources |
개체 | Azure Machine Learning 서버리스 Spark 컴퓨팅에서 사용할 리소스입니다. compute 또는 resources 중 하나를 정의해야 합니다. |
||
resources.instance_type |
string | Spark 풀에 사용할 컴퓨팅 인스턴스 유형입니다. | standard_e4s_v3 , standard_e8s_v3 , standard_e16s_v3 , standard_e32s_v3 standard_e64s_v3 . |
|
resources.runtime_version |
string | Spark 런타임 버전. | 3.2 , 3.3 |
|
compute |
string | 작업을 실행할 연결된 Synapse Spark 풀의 이름입니다. compute 또는 resources 중 하나를 정의해야 합니다. |
||
inputs |
개체 | 작업에 대한 입력의 사전입니다. 키는 작업의 컨텍스트 내에서 입력에 대한 이름이고 값은 입력 값입니다. ${{ inputs.<input_name> }} 식을 사용하여 args 에서 입력을 참조할 수 있습니다. |
||
inputs.<input_name> |
숫자, 정수, 부울, 문자열, 개체 | 리터럴 값(형식 번호, 정수, 부울 또는 문자열) 또는 작업 입력 데이터 사양이 포함된 개체 중 하나입니다. | ||
outputs |
개체 | 작업의 출력 구성 사전입니다. 키는 작업의 컨텍스트 내에서 출력에 대한 이름이고 값은 출력 구성입니다. ${{ outputs.<output_name> }} 식을 사용하여 args 에서 출력을 참조할 수 있습니다. |
||
outputs.<output_name> |
개체 | Spark 작업 출력. Spark 작업의 출력은 작업 출력 사양이 포함된 개체를 제공하여 파일이나 폴더 위치에 기록될 수 있습니다. | ||
identity |
개체 | ID는 데이터 액세스에 사용됩니다. UserIdentityConfiguration, ManagedIdentityConfiguration 또는 None일 수 있습니다. UserIdentityConfiguration의 경우 작업 제출자의 ID를 사용하여 입력 데이터에 액세스하고 결과를 출력 폴더에 씁니다. 그렇지 않으면 적절한 ID는 Spark 컴퓨팅 형식을 기반으로 합니다. |
conf
키의 특성
키 | 형식 | 설명 | 기본값 |
---|---|---|---|
spark.driver.cores |
정수 | Spark 드라이버의 코어 수입니다. | |
spark.driver.memory |
string | Spark 드라이버에 할당된 메모리(GB)입니다. 예를 들어, 2g 입니다. |
|
spark.executor.cores |
정수 | Spark 실행기의 코어 수입니다. | |
spark.executor.memory |
string | Spark 실행기에 할당된 메모리(GB)입니다. 예를 들어, 2g 입니다. |
|
spark.dynamicAllocation.enabled |
부울 값 | True 또는 False 값으로 설정하여 실행기를 동적으로 할당할 것인지 여부를 결정할 수 있습니다. 이 속성이 True 로 설정된 경우 spark.dynamicAllocation.minExecutors 및 spark.dynamicAllocation.maxExecutors 를 정의합니다. 이 속성이 False 로 설정된 경우 spark.executor.instances 를 정의합니다. |
False |
spark.dynamicAllocation.minExecutors |
정수 | 동적으로 할당하기 위한 최소 Spark 실행기 인스턴스 수입니다. | |
spark.dynamicAllocation.maxExecutors |
정수 | 동적으로 할당하기 위한 최대 Spark 실행기 인스턴스 수입니다. | |
spark.executor.instances |
정수 | Spark 실행기 인스턴스 수입니다. |
작업 입력
키 | 형식 | 설명 | 허용된 값 | 기본값 |
---|---|---|---|---|
type |
string | 작업 입력의 형식입니다. 단일 파일 원본을 가리키는 입력 데이터의 경우 uri_file 을 지정하거나 폴더 원본을 가리키는 입력 데이터의 경우 uri_folder 를 지정합니다. 데이터 액세스에 대해 자세히 알아보세요. |
uri_file , uri_folder |
|
path |
string | 입력으로 사용할 데이터의 경로입니다. azureml:// , abfss:// , wasbs:// 등 입력 데이터의 URI를 사용할 수 있습니다. azureml:// URI 형식 사용에 대한 자세한 내용은 코어 yaml 구문을 참조하세요. |
||
mode |
string | 컴퓨팅 대상에 데이터를 제공하는 방법의 모드입니다. direct 모드는 스토리지 위치 URL을 작업 입력으로 전달합니다. 스토리지 액세스 자격 증명을 처리할 전적인 책임은 사용자에게 있습니다. |
direct |
작업 출력
키 | 형식 | 설명 | 허용된 값 | 기본값 |
---|---|---|---|---|
type |
string | 작업 출력의 형식입니다. | uri_file , uri_folder |
|
path |
string | 입력 데이터의 URI(예: azureml:// , abfss:// 또는 wasbs:// )입니다. |
||
mode |
string | 대상 스토리지 리소스로 출력 파일을 배달하는 모드입니다. | direct |
ID 구성
UserIdentityConfiguration
키 | 형식 | 설명 | 허용된 값 |
---|---|---|---|
type |
const | 필수입니다. ID 유형입니다. | user_identity |
ManagedIdentityConfiguration
키 | 형식 | 설명 | 허용된 값 |
---|---|---|---|
type |
const | 필수입니다. ID 유형입니다. | managed |
설명
Azure Machine Learning Spark 작업을 관리하는 데 az ml job
명령을 사용할 수 있습니다.
예제
예 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>