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 (최신 버전의 환경 참조)를 사용합니다. 환경을 인라인으로 정의하려면 환경 스키마를 따릅니다. 인라인 환경에서는 지원하지 않으므로 name 및 version 속성을 제외합니다. |
||
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.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 |
|
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>