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(최신 버전의 환경 참조)를 사용합니다.

환경을 인라인으로 정의하려면 환경 스키마를 따릅니다. 인라인 환경에서는 지원하지 않으므로 nameversion 속성을 제외합니다.
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_v3standard_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.minExecutorsspark.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>

YAML: 서버리스 Spark 컴퓨팅 및 사용자 ID를 사용하는 독립형 Spark 작업

다음 단계