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 필수입니다. 구성 요소의 이름입니다. 소문자로 시작해야 합니다. 허용되는 문자는 소문자, 숫자, 밑줄(_)입니다. 최대 길이는 255자입니다.
version string 구성 요소 버전입니다. 생략하면 Azure Machine Learning에서 버전을 자동으로 생성합니다.
display_name string 스튜디오 UI의 구성 요소 표시 이름입니다. 작업 영역 내에서 고유하지 않을 수 있습니다.
description string 구성 요소에 대한 설명입니다.
tags 개체 구성 요소에 대한 태그 사전입니다.
code string 필수입니다. 구성 요소의 소스 코드와 스크립트가 포함된 폴더의 위치입니다.
entry 개체 필수입니다. 구성 요소의 진입점입니다. 를 정의할 수 있습니다 file.
entry.file string 구성 요소의 소스 코드와 스크립트가 포함된 폴더의 위치입니다.
py_files 개체 이 구성 요소를 사용하여 작업을 성공적으로 실행하기 위해 PYTHONPATH에 배치할 .zip, .egg 또는 .py 파일 목록입니다.
jars 개체 이 구성 요소를 사용하여 작업을 성공적으로 실행하기 위해 Spark 드라이버 및 실행기 CLASSPATH에 포함할 .jar 파일 목록입니다.
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>}}").
inputs 개체 구성 요소 입력의 사전입니다. 키는 구성 요소 컨텍스트 내 입력의 이름이고 값은 입력 값입니다.

${{ inputs.<input_name> }} 식을 사용하여 args에서 입력을 참조할 수 있습니다.
inputs.<input_name> 숫자, 정수, 부울, 문자열, 개체 리터럴 값(숫자, 정수, 부울 또는 문자열 형식) 또는 구성 요소 입력 데이터 사양을 포함하는 개체 중 하나입니다.
outputs 개체 구성 요소의 출력 구성 사전입니다. 키는 구성 요소 컨텍스트 내의 출력 이름이고 값은 출력 구성입니다.

${{ outputs.<output_name> }} 식을 사용하여 args에서 출력을 참조할 수 있습니다.
outputs.<output_name> 개체 Spark 구성 요소 출력입니다. 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
mode string 컴퓨팅 대상에 데이터를 제공하는 방법의 모드입니다. direct 모드는 스토리지 위치의 URL을 구성 요소 입력으로 전달합니다. 스토리지 액세스 자격 증명을 처리할 전적인 책임은 사용자에게 있습니다. direct

구성 요소 출력

형식 설명 허용된 값 기본값
type string 구성 요소 출력의 형식입니다. uri_file, uri_folder
mode string 출력 파일을 대상 스토리지 리소스로 배달하는 모드입니다. direct

설명

Azure Machine Learning Spark 구성 요소를 관리하는 데 az ml component 명령을 사용할 수 있습니다.

예제

예제는 예제 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>

다음 단계