Databricks 자산 번들을 사용하면 번들 구성의 resources
매핑에서 번들에서 사용하는 Azure Databricks 리소스에 대한 정보를 지정할 수 있습니다.
리소스 매핑 및 리소스 키 참조를 확인하세요.
이 문서에서는 번들에 대해 지원되는 리소스 종류를 간략하게 설명하고 지원되는 각 유형에 대한 세부 정보 및 예제를 제공합니다. 추가 예제는 번들 구성 예제참조하세요.
Tip
기존 리소스에 대한 YAML을 생성하려면 databricks bundle generate
명령을 사용합니다.
번들 구성 파일생성을 참조하세요.
지원되는 리소스
다음 표에서는 번들에 대해 지원되는 리소스 종류를 나열합니다. 일부 리소스는 번들에 정의하고 번들을 배포하여 만들 수 있으며, 일부 리소스는 번들에 포함할 기존 자산을 참조해야만 만들 수 있습니다.
리소스는 해당 Databricks REST API 개체의 만들기 작업 요청 페이로드를 사용하여 정의됩니다. 여기서 YAML로 표현된 개체의 지원되는 필드는 리소스의 지원되는 속성입니다. 각 리소스의 해당 페이로드에 대한 설명서에 대한 링크가 표에 나열됩니다.
Tip
databricks bundle validate
명령은 번들 구성 파일에서 알 수 없는 리소스 속성이 발견되면 경고를 반환합니다.
Resource | 해당 REST API 개체 |
---|---|
app | 앱 개체 |
cluster | 클러스터 개체 |
dashboard | 대시보드 개체 |
experiment | 실험 개체 |
job | 작업 개체 |
모델(레거시) | Model(레거시) 개체 |
model_serving_endpoint | 모델 제공 엔드포인트 객체 |
pipeline | 파이프라인 개체 |
quality_monitor | 품질 모니터 개체 |
registered_model(Unity 카탈로그) | 등록된 모델 개체 |
스키마(Unity Catalog) | 스키마 개체 |
secret_scope | 비밀 스코프 객체 |
볼륨 (유니티 카탈로그) | 볼륨 개체 |
앱
Type: Map
앱 리소스는 Databricks 앱을 정의합니다. Databricks 앱에 대한 자세한 내용은 Databricks 앱을 참조하세요.
앱을 추가하려면 필요한 앱을 포함하여 앱을 정의할 설정을 지정합니다 source_code_path
.
Tip
다음 명령을 사용하여 Streamlit Databricks 앱을 통해 번들을 초기화할 수 있습니다.
databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
apps:
<app-name>:
<app-field-name>: <app-field-value>
Key | Type | Description |
---|---|---|
budget_policy_id |
String | 앱의 예산 정책 ID입니다. |
config |
Map | Deprecated. 대신 app.yaml 파일에서 앱 구성 명령 및 환경 변수를 정의합니다.
Databricks 앱 구성을 참조하세요. |
description |
String | 앱에 대한 설명입니다. |
name |
String | 앱의 이름입니다. 이름에는 소문자 영숫자 및 하이픈만 포함되어야 합니다. 작업 영역 내에서 고유해야 합니다. |
permissions |
Sequence | 앱의 권한입니다. 사용 권한을 참조 하세요. |
resources |
Sequence | 앱의 컴퓨트 리소스. apps.name.resources를 참조하세요. |
source_code_path |
String |
./app Databricks 앱 소스 코드의 로컬 경로입니다. 이 필드는 필수입니다. |
user_api_scopes |
Sequence | 사용자 API 범위입니다. |
apps.name.resources
Type: Sequence
앱의 컴퓨팅 리소스입니다.
Key | Type | Description |
---|---|---|
description |
String | 앱 리소스에 대한 설명입니다. |
job |
Map | 사용할 작업 리소스를 식별하는 설정입니다. resources.job을 참조하세요. |
name |
String | 앱 리소스의 이름입니다. |
secret |
Map | 비밀 설정입니다. resources.secret을 참조하세요. |
serving_endpoint |
Map | 사용할 서비스 엔드포인트 리소스를 식별하는 설정입니다. resources.serving_endpoint 참조하세요. |
sql_warehouse |
Map | 사용할 웨어하우스 리소스를 식별하는 설정입니다. resources.sql_warehouse를 참조하세요. |
Example
다음 예제에서는 번들로 만든 작업을 관리하는 my_app
앱을 만듭니다.
resources:
jobs:
# Define a job in the bundle
hello_world:
name: hello_world
tasks:
- task_key: task
spark_python_task:
python_file: ../src/main.py
environment_key: default
environments:
- environment_key: default
spec:
client: '1'
# Define an app that manages the job in the bundle
apps:
job_manager:
name: 'job_manager_app'
description: 'An app which manages a job created by this bundle'
# The ___location of the source code for the app
source_code_path: ../src/app
# The resources in the bundle which this app has access to. This binds the resource in the app with the bundle resource.
resources:
- name: 'app-job'
job:
id: ${resources.jobs.hello_world.id}
permission: 'CAN_MANAGE_RUN'
해당 app.yaml
앱을 실행하기 위한 구성을 정의합니다.
command:
- flask
- --app
- app
- run
- --debug
env:
- name: JOB_ID
valueFrom: 'app-job'
전체 Databricks 앱 예제 번들은 번들 예제 GitHub 리포지토리를 참조하세요.
클러스터
Type: Map
클러스터 리소스는 클러스터를 정의합니다.
clusters:
<cluster-name>:
<cluster-field-name>: <cluster-field-value>
Key | Type | Description |
---|---|---|
apply_policy_default_values |
Boolean | true로 설정하면 정책의 고정 및 기본값이 생략된 필드에 사용됩니다. false로 설정하면 정책의 고정 값만 적용됩니다. |
autoscale |
Map | 부하에 따라 클러스터를 자동으로 확장 및 축소하는 데 필요한 매개 변수입니다. 자동 크기 조정을 참조하세요. |
autotermination_minutes |
Integer | 지정된 시간(분) 동안 비활성 상태인 경우 클러스터를 자동으로 종료합니다. 설정하지 않으면 이 클러스터가 자동으로 종료되지 않습니다. 지정된 경우 임계값은 10분에서 10000분 사이여야 합니다. 사용자는 자동 종료를 명시적으로 사용하지 않도록 설정하기 위해 이 값을 0으로 설정할 수도 있습니다. |
aws_attributes |
Map | Amazon Web Services에서 실행되는 클러스터와 관련된 특성입니다. 클러스터를 만들 때 지정하지 않으면 기본값 집합이 사용됩니다. aws_attributes 참조하세요. |
azure_attributes |
Map | Microsoft Azure에서 실행되는 클러스터와 관련된 특성입니다. 클러스터를 만들 때 지정하지 않으면 기본값 집합이 사용됩니다. azure_attributes 참조하세요. |
cluster_log_conf |
Map | Spark 로그를 장기 스토리지 대상으로 배달하기 위한 구성입니다. cluster_log_conf 참조하세요. |
cluster_name |
String | 사용자가 요청한 클러스터 이름입니다. 고유할 필요는 없습니다. 만들 때 지정하지 않으면 클러스터 이름은 빈 문자열이 됩니다. |
custom_tags |
Map | 클러스터 리소스를 위한 추가 태그. Databricks는 default_tags 외에도 모든 클러스터 리소스(예: AWS 인스턴스 및 EBS 볼륨)에 이러한 태그를 지정합니다.
custom_tags 참조하세요. |
data_security_mode |
String | 클러스터에서 데이터에 액세스할 때 사용할 데이터 거버넌스 모델입니다. data_security_mode 참조하세요. |
docker_image |
Map | 사용자 지정 Docker 이미지입니다. docker_image 참조하세요. |
driver_instance_pool_id |
String | 클러스터 드라이버에 대한 인스턴스 풀의 선택적 ID가 속합니다. 드라이버 풀이 할당되지 않은 경우 풀 클러스터는 id(instance_pool_id)가 있는 인스턴스 풀을 사용합니다. |
driver_node_type_id |
String | Spark 드라이버의 노드 형식입니다. 이 필드는 선택 사항입니다. 설정되지 않은 경우 드라이버 노드 형식은 위에서 정의한 값과 동일한 값으로 node_type_id 설정됩니다. virtual_cluster_size 설정된 경우 이 필드는 node_type_id 함께 설정하면 안 됩니다. driver_node_type_id, node_type_id 및 virtual_cluster_size 모두 지정되면 driver_node_type_id 및 node_type_id 우선합니다. |
enable_elastic_disk |
Boolean | 로컬 스토리지 자동 크기 조정: 사용하도록 설정하면 Spark 작업자가 디스크 공간이 부족할 때 이 클러스터는 추가 디스크 공간을 동적으로 확보합니다. 이 기능을 사용하려면 특정 AWS 권한이 올바르게 작동해야 합니다. 자세한 내용은 사용자 가이드를 참조하세요. |
enable_local_disk_encryption |
Boolean | 클러스터 VM의 로컬 디스크에서 LUKS를 사용하도록 설정할지 여부 |
gcp_attributes |
Map | Google Cloud Platform에서 실행되는 클러스터와 관련된 특성입니다. 클러스터를 만들 때 지정하지 않으면 기본값 집합이 사용됩니다. gcp_attributes 참조하세요. |
init_scripts |
Sequence | init 스크립트를 저장하기 위한 구성입니다. 어떤 수의 목적지도 지정할 수 있습니다. 스크립트는 제공된 순서대로 순차적으로 실행됩니다. init_scripts 참조하세요. |
instance_pool_id |
String | 클러스터가 속한 인스턴스 풀의 선택적 ID입니다. |
is_single_node |
Boolean | 이 필드는 다음과 같은 경우에만 kind = CLASSIC_PREVIEW 사용할 수 있습니다. true로 설정하면, Databricks는 자동으로 단일 노드와 관련된 custom_tags , spark_conf , num_workers 를 설정합니다. |
kind |
String | 이 컴퓨팅 사양에서 설명하는 컴퓨팅 종류입니다. |
node_type_id |
String | 이 필드는 단일 값을 통해 이 클러스터의 각 Spark 노드에서 사용할 수 있는 리소스를 인코딩합니다. 예를 들어, Spark 노드는 메모리 또는 컴퓨팅 집약적 워크로드에 대해 프로비저닝되고 최적화될 수 있습니다. 사용 가능한 노드 형식 목록은 :method:clusters/listNodeTypes API 호출을 사용하여 검색할 수 있습니다. |
num_workers |
Integer | 이 클러스터에 있어야 하는 작업자 노드의 수입니다. 클러스터에는 총 num_workers 1개 이상의 Spark 노드에 대해 하나의 Spark 드라이버 및 num_workers 실행기가 있습니다. |
permissions |
Sequence | 클러스터 권한입니다. 사용 권한을 참조 하세요. |
policy_id |
String | 해당하는 경우 클러스터를 만드는 데 사용되는 클러스터 정책의 ID입니다. |
runtime_engine |
String | 클러스터의 런타임 엔진을 STANDARD 또는 PHOTON 중에서 결정합니다. |
single_user_name |
String | data_security_mode 경우 단일 사용자 이름 SINGLE_USER |
spark_conf |
Map | 선택적 사용자 지정 Spark 구성 키-값 쌍 집합을 포함하는 개체입니다. 사용자는 추가 JVM 옵션 문자열을 각각 통해 spark.driver.extraJavaOptions spark.executor.extraJavaOptions 드라이버 및 실행기에 전달할 수도 있습니다.
spark_conf 참조하세요. |
spark_env_vars |
Map | 선택적 사용자 지정 환경 변수 키-값 쌍 집합을 포함하는 개체입니다. |
spark_version |
String | 클러스터의 Spark 버전(예: 3.3.x-scala2.11 사용 가능한 Spark 버전 목록은 :method:clusters/sparkVersions API 호출을 사용하여 검색할 수 있습니다. |
ssh_public_keys |
Sequence | 이 클러스터의 각 Spark 노드에 추가될 SSH 공개 키 콘텐츠입니다. 해당 프라이빗 키를 사용하여 포트ubuntu 에서 사용자 이름으로 2200 로그인할 수 있습니다. 최대 10 개의 키를 지정할 수 있습니다. |
use_ml_runtime |
Boolean | 이 필드는 다음과 같은 경우에만 kind = CLASSIC_PREVIEW 사용할 수 있습니다.
effective_spark_version 는 spark_version (DBR 릴리스), 이 필드 use_ml_runtime , 그리고 node_type_id 가 gpu 노드인지 여부에 따라 결정됩니다. |
workload_type |
Map | 클러스터 워크로드 유형에 대해 표시되는 클러스터 특성입니다. workload_type 참조하세요. |
Examples
다음 예제에서는 Databricks Runtime 15.4 LTS 및 클러스터 정책을 사용하여 현재 사용자에 대한 전용(단일 사용자) 클러스터를 만듭니다.
resources:
clusters:
my_cluster:
num_workers: 0
node_type_id: 'i3.xlarge'
driver_node_type_id: 'i3.xlarge'
spark_version: '15.4.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
autotermination_minutes: 60
enable_elastic_disk: true
single_user_name: ${workspace.current_user.userName}
policy_id: '000128DB309672CA'
enable_local_disk_encryption: false
data_security_mode: SINGLE_USER
runtime_engine": STANDARD
이 예제에서는 간단한 클러스터 my_cluster
를 만들고, 이를 my_job
에서 Notebook을 실행하기 위한 클러스터로 설정합니다.
bundle:
name: clusters
resources:
clusters:
my_cluster:
num_workers: 2
node_type_id: 'i3.xlarge'
autoscale:
min_workers: 2
max_workers: 7
spark_version: '13.3.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
jobs:
my_job:
tasks:
- task_key: test_task
notebook_task:
notebook_path: './src/my_notebook.py'
existing_cluster_id: ${resources.clusters.my_cluster.id}
대시보드
Type: Map
대시보드 리소스를 사용하면 AI/BI 대시보드를 번들로 관리할 수 있습니다. AI/BI 대시보드에 대한 자세한 내용은 대시보드참조하세요.
Note
대시보드 Git 지원과 함께 Databricks 자산 번들을 사용하는 경우 대시보드가 파일로 동기화되지 않도록 동기화 매핑을 추가하여 중복 대시보드가 생성되지 않도록 합니다.
sync:
exclude:
- src/*.lvdash.json
dashboards:
<dashboard-name>:
<dashboard-field-name>: <dashboard-field-value>
Key | Type | Description |
---|---|---|
display_name |
String | 대시보드의 표시 이름입니다. |
etag |
String | 대시보드의 "etag"입니다. 대시보드가 마지막으로 읽은 이후 수정되지 않았는지 확인하기 위해 업데이트에 선택적으로 제공할 수 있습니다. |
file_path |
String | 파일 이름을 포함하여 대시보드 자산의 로컬 경로입니다. 내보낸 대시보드에는 항상 파일 확장 .lvdash.json 명이 있습니다. |
permissions |
Sequence | 대시보드 권한입니다. 사용 권한을 참조 하세요. |
serialized_dashboard |
Any | serialize된 문자열 형식의 대시보드 내용입니다. |
warehouse_id |
String | 대시보드를 실행하는 데 사용되는 웨어하우스 ID입니다. |
Example
예시는 NYC Taxi Trip Analysis 대시보드를 Databricks 작업 영역으로 포함하고 배포합니다.
resources:
dashboards:
nyc_taxi_trip_analysis:
display_name: 'NYC Taxi Trip Analysis'
file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
warehouse_id: ${var.warehouse_id}
UI를 사용하여 대시보드를 수정하는 경우 bundle generate
사용하여 명시적으로 업데이트하지 않는 한 UI를 통해 수정한 내용은 로컬 번들의 대시보드 JSON 파일에 적용되지 않습니다.
--watch
옵션을 사용하여 대시보드에 대한 변경 내용을 지속적으로 폴링하고 검색할 수 있습니다.
번들 구성 파일생성을 참조하세요.
또한 원격 작업 영역에 있는 것과 다른 대시보드 JSON 파일이 포함된 번들을 배포하려고 하면 오류가 발생합니다. 원격 작업 영역의 대시보드를 로컬 대시보드로 강제로 배포하고 덮어쓰려면 --force
옵션을 사용합니다.
번들 배포를 참조하세요.
실험
Type: Map
실험 리소스를 사용하면 패키지에 MLflow 실험을 정의할 수 있습니다. MLflow 실험과 관련된 정보를 얻으려면 MLflow 실험을 사용하여 학습 실행을 구성하는 방법을 참조하세요.
experiments:
<experiment-name>:
<experiment-field-name>: <experiment-field-value>
Key | Type | Description |
---|---|---|
artifact_location |
String | 실험의 아티팩트가 저장되는 위치입니다. |
name |
String | 실험을 식별하는 식별 이름입니다. |
permissions |
Sequence | 실험에 대한 권한입니다. 사용 권한을 참조 하세요. |
tags |
Sequence | 추가 메타데이터 키-값 쌍들. 태그를 참조하세요. |
Example
다음 예제에서는 모든 사용자가 볼 수 있는 실험을 정의합니다.
resources:
experiments:
experiment:
name: my_ml_experiment
permissions:
- level: CAN_READ
group_name: users
description: MLflow experiment used to track runs
작업
Type: Map
번들에서 작업과 해당 작업에 연결된 태스크를 정의할 수 있도록 작업 리소스를 사용하십시오. 작업에 대한 자세한 내용은 Lakeflow 작업을 참조하세요. Databricks 자산 번들 템플릿을 사용하여 작업을 만드는 자습서는 Databricks 자산 번들을 사용하여 작업 개발을 참조하세요.
jobs:
<job-name>:
<job-field-name>: <job-field-value>
Key | Type | Description |
---|---|---|
budget_policy_id |
String | 이 작업에 사용할 사용자 지정 예산 정책의 ID입니다. 지정하지 않으면 작업을 만들거나 수정할 때 기본 예산 정책이 적용될 수 있습니다. 이 워크로드에서 사용하는 예산 정책을 참조 effective_budget_policy_id 하세요. |
continuous |
Map | 이 작업에 대한 선택적 연속 속성입니다. 연속 속성은 항상 하나의 실행이 실행되도록 합니다.
schedule 와 continuous 중 하나만 사용할 수 있습니다. 연속을 참조하십시오. |
deployment |
Map | 외부 원본에서 관리하는 작업에 대한 배포 정보입니다. 배포를 참조하세요. |
description |
String | 작업에 대한 선택적 설명입니다. 최대 길이는 UTF-8 인코딩에서 27700자입니다. |
edit_mode |
String | 작업 편집 모드는 UI_LOCKED 또는 EDITABLE 중 하나입니다. |
email_notifications |
Map | 이 작업의 실행이 시작되거나 완료될 때와 이 작업이 삭제될 때 알림을 수신하는 선택적 전자 메일 주소 집합입니다. email_notifications 참조하세요. |
environments |
Sequence | 이 작업의 서버리스 작업에서 참조할 수 있는 작업 실행 환경 사양 목록입니다. 서버리스 작업에는 환경이 있어야 합니다. 서버리스 Notebook 작업의 경우 Notebook 환경 패널에서 환경에 액세스할 수 있습니다. 다른 서버리스 작업의 경우 작업 설정에서 environment_key 사용하여 작업 환경을 지정해야 합니다. 환경을 참조하세요. |
format |
String | 작업의 형식입니다. |
git_source |
Map | 태스크에서 사용하는 소스 코드를 포함하는 원격 Git 리포지토리에 대한 선택적 사양입니다. 중요하다: 로컬 상대 경로가 git_source Git 리포지토리의 동일한 콘텐츠를 가리키지 않을 수 있으며 번들은 배포된 작업이 배포된 로컬 복사본과 동일한 콘텐츠를 포함할 것으로 예상하므로 번들에 대해 설정된 source 필드와 작업 GIT 필드는 권장되지 않습니다.대신 리포지토리를 로컬로 복제하고 이 리포지토리 내에서 번들 프로젝트를 설정하여 작업의 원본이 작업 영역이 되도록 합니다. |
health |
Map | 이 작업에 대해 정의할 수 있는 선택적 건강 규칙 집합입니다. 건강을 참조하세요. |
job_clusters |
Sequence | 이 작업의 태스크에서 공유하고 다시 사용할 수 있는 작업 클러스터 사양 목록입니다. 클러스터를 참조하세요. |
max_concurrent_runs |
Integer | 선택적으로 허용되는 작업의 최대 동시 실행 수입니다. 동일한 작업의 여러 실행을 동시에 실행할 수 있도록 하려면 이 값을 설정합니다. max_concurrent_runs 참조하세요. |
name |
String | 작업에 대한 선택적 이름입니다. 최대 길이는 UTF-8 인코딩에서 4096바이트입니다. |
notification_settings |
Map | 이 작업에 대해 각각 email_notifications 과 webhook_notifications 에 알림을 보낼 때 사용되는 선택적 알림 설정입니다.
notification_settings 참조하세요. |
parameters |
Sequence | 작업 수준 매개 변수 정의입니다. 매개 변수를 참조하세요. |
performance_target |
String | PerformanceTarget은 서버리스에서 실행의 성능 또는 비용 효율성을 정의합니다. |
permissions |
Sequence | 작업 권한 사용 권한을 참조 하세요. |
queue |
Map | 작업의 큐 설정입니다. 큐를 참조 하세요. |
run_as |
Map | 쓰기 전용 설정입니다. 작업이 실행되는 사용자 또는 서비스 주체를 지정합니다. 지정하지 않으면 작업이 작업을 만든 사용자로 실행됩니다.
user_name 또는 service_principal_name 중 하나를 지정해야 합니다. 그렇지 않으면 오류가 throw됩니다.
Databricks Asset Bundles 워크플로대한 실행 ID 지정을 참조하세요. |
schedule |
Map | 이 작업에 대한 선택적 정기 일정입니다. 기본 동작은 작업 UI에서 "지금 실행"을 클릭하거나 API 요청을 전송하여 트리거될 때만 작업이 실행된다는 것입니다 runNow .
일정을 참조하세요. |
tags |
Map | 작업과 연결된 태그의 맵입니다. 이러한 태그는 작업 클러스터에 대한 클러스터 태그로 클러스터에 전달되며 클러스터 태그와 동일한 제한 사항이 적용됩니다. 최대 25개의 태그를 작업에 추가할 수 있습니다. |
tasks |
Sequence | 이 작업에서 실행할 작업 사양 목록입니다. Databricks 자산 번들에서 작업에 태스크 추가하기. |
timeout_seconds |
Integer | 이 작업의 각 실행에 적용되는 선택적 시간 제한입니다. 값은 0 시간 제한이 없음을 의미합니다. |
trigger |
Map | 특정 조건이 충족될 때 실행을 트리거하는 구성입니다. 트리거를 참조하십시오. |
webhook_notifications |
Map | 이 작업의 실행이 시작되거나 완료될 때 알릴 시스템 알림 ID의 컬렉션입니다. webhook_notifications 참조하세요. |
Examples
다음 예제에서는 리소스 키 hello-job
을 사용하여 하나의 노트북 작업을 포함한 작업을 정의합니다.
resources:
jobs:
hello-job:
name: hello-job
tasks:
- task_key: hello-task
notebook_task:
notebook_path: ./hello.py
다음 예제에서는 SQL Notebook을 사용하여 작업을 정의합니다.
resources:
jobs:
job_with_sql_notebook:
name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
tasks:
- task_key: notebook
notebook_task:
notebook_path: ./select.sql
warehouse_id: 799f096837fzzzz4
추가 작업 구성 예제는 작업 구성을 참조하세요.
작업 태스크 정의 및 작업 설정 재정의에 대한 자세한 내용은 다음을 참조하세요.
모델(레거시)
Type: Map
모델 리소스를 사용하면 번들에 레거시 모델을 정의할 수 있습니다. Databricks는 대신 Unity 카탈로그에 등록된 모델을 사용하는 것이 좋습니다.
모델_서빙_엔드포인트
Type: Map
model_serving_endpoint 리소스를 사용하면 엔드포인트제공하는
model_serving_endpoints:
<model_serving_endpoint-name>:
<model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>
Key | Type | Description |
---|---|---|
ai_gateway |
Map | 서비스 엔드포인트에 대한 AI 게이트웨이 구성입니다. 참고: 외부 모델 및 프로비전된 처리량 엔드포인트만 현재 지원됩니다. ai_gateway 참조하세요. |
config |
Map | 서비스 엔드포인트의 핵심 구성입니다. 구성을 참조하세요. |
name |
String | 제공 엔드포인트의 이름입니다. 이 필드는 필수이며 Databricks 작업 영역에서 고유해야 합니다. 엔드포인트 이름은 영숫자 문자, 대시 및 밑줄로 구성됩니다. |
permissions |
Sequence | 엔드포인트의 권한을 제공하는 모델입니다. 사용 권한을 참조 하세요. |
rate_limits |
Sequence | Deprecated. 서비스 엔드포인트에 적용할 속도 제한입니다. AI 게이트웨이를 사용하여 속도 제한을 관리합니다. |
route_optimized |
Boolean | 서비스 엔드포인트에 대한 경로 최적화를 사용하도록 설정합니다. |
tags |
Sequence | 서비스 엔드포인트에 연결되고 청구 로그에 자동으로 전파될 태그입니다. 태그를 참조하세요. |
Example
다음 예제에서는 엔드포인트를 제공하는 Unity 카탈로그 모델을 정의합니다.
resources:
model_serving_endpoints:
uc_model_serving_endpoint:
name: 'uc-model-endpoint'
config:
served_entities:
- entity_name: 'myCatalog.mySchema.my-ads-model'
entity_version: '10'
workload_size: 'Small'
scale_to_zero_enabled: 'true'
traffic_config:
routes:
- served_model_name: 'my-ads-model-10'
traffic_percentage: '100'
tags:
- key: 'team'
value: 'data science'
파이프라인
Type: Map
파이프라인 리소스를 사용하면 Lakeflow 선언적 파이프라인 파이프라인을 만들 수 있습니다. 파이프라인에 대한 자세한 내용은 Lakeflow 선언적 파이프라인을 참조하세요. Databricks 자산 번들 템플릿을 사용하여 파이프라인을 만드는 자습서는 Databricks 자산 번들을 사용하여 Lakeflow 선언적 파이프라인 개발을 참조하세요.
pipelines:
<pipeline-name>:
<pipeline-field-name>: <pipeline-field-value>
Key | Type | Description |
---|---|---|
allow_duplicate_names |
Boolean | false이면 이름이 다른 파이프라인의 이름과 충돌하는 경우 배포가 실패합니다. |
catalog |
String | 이 파이프라인에서 데이터를 게시하기 위한 Unity 카탈로그의 일환인 카탈로그입니다. 지정된 경우, 이 파이프라인의 테이블은 target 내부의 target 스키마에 게시됩니다(예를 들어, catalog .catalog .target ). 지정하지 않으면 target Unity 카탈로그에 데이터가 게시되지 않습니다. |
channel |
String | 사용할 Lakeflow 선언적 파이프라인 버전을 지정하는 Lakeflow 선언적 파이프라인 릴리스 채널입니다. |
clusters |
Sequence | 이 파이프라인 배포에 대한 클러스터 설정입니다. 클러스터를 참조하세요. |
configuration |
Map | 이 파이프라인 실행에 대한 구성입니다. |
continuous |
Boolean | 파이프라인이 지속적인지 또는 트리거되는지 여부입니다. 이것은 trigger 을 대체합니다. |
deployment |
Map | 이 파이프라인의 배포 유형입니다. 배포를 참조하세요. |
development |
Boolean | 파이프라인이 개발 모드에 있는지 확인하는 것입니다. 기본값은 false입니다. |
dry_run |
Boolean | 파이프라인이 건식 실행 파이프라인인지 여부입니다. |
edition |
String | 파이프라인 제품 버전입니다. |
environment |
Map | 서버리스 컴퓨팅에 종속성을 설치하는 데 사용되는 이 파이프라인의 환경 사양입니다. 이 키는 Databricks CLI 버전 0.258 이상에서만 지원됩니다. |
event_log |
Map | 이 파이프라인에 대한 이벤트 로그 구성입니다. event_log 참조하세요. |
filters |
Map | 배포된 그래프에 포함할 파이프라인 패키지를 결정하는 필터입니다. 필터를 참조하세요. |
id |
String | 이 파이프라인의 고유 식별자입니다. |
ingestion_definition |
Map | 관리되는 수집 파이프라인에 대한 구성입니다. 이러한 설정은 libraries , schema , target 또는 catalog 설정과 함께 사용할 수 없습니다.
ingestion_definition 참조하세요. |
libraries |
Sequence | 이 배포에 필요한 라이브러리 또는 코드입니다. 라이브러리를 참조하세요. |
name |
String | 이 파이프라인의 친숙한 이름입니다. |
notifications |
Sequence | 이 파이프라인에 대한 알림 설정입니다. 알림을 참조하세요. |
permissions |
Sequence | 파이프라인의 권한 사용 권한을 참조 하세요. |
photon |
Boolean | 이 파이프라인에 Photon을 사용할 수 있는지 여부입니다. |
schema |
String | 테이블을 읽거나 게시하는 기본 스키마(데이터베이스)입니다. |
serverless |
Boolean | 이 파이프라인에 대해 서버리스 컴퓨팅을 사용할 수 있는지 여부입니다. |
storage |
String | 검사점 및 테이블을 저장하기 위한 DBFS 루트 디렉터리입니다. |
target |
String | 이 파이프라인의 테이블을 추가할 대상 스키마(데이터베이스)입니다. 정확히 하나 schema 또는 target 지정해야 합니다. Unity 카탈로그 catalog 에 게시하려면, catalog 도 지정하십시오. 이 레거시 필드는 schema 필드가 파이프라인 생성에 더 적합하여 사용이 중지되었습니다. |
trigger |
Map | Deprecated. 어느 파이프라인 트리거를 사용할지.
continuous 를 대신 사용하세요. |
Example
다음 예제에서는 리소스 키 hello-pipeline
사용하여 파이프라인을 정의합니다.
resources:
pipelines:
hello-pipeline:
name: hello-pipeline
clusters:
- label: default
num_workers: 1
development: true
continuous: false
channel: CURRENT
edition: CORE
photon: false
libraries:
- notebook:
path: ./pipeline.py
추가 파이프라인 구성 예제는 파이프라인 구성을 참조하세요.
품질_모니터(Unity 카탈로그)
Type: Map
quality_monitor 리소스를 사용하면 Unity 카탈로그 테이블 모니터를 정의할 수 있습니다. 모니터에 대한 자세한 내용은 Databricks Lakehouse 모니터링 소개를 참조하세요.
quality_monitors:
<quality_monitor-name>:
<quality_monitor-field-name>: <quality_monitor-field-value>
Key | Type | Description |
---|---|---|
assets_dir |
String | 모니터링 자산(예: 대시보드, 메트릭 테이블)을 저장할 디렉터리입니다. |
baseline_table_name |
String | 드리프트 메트릭이 계산되는 기준 테이블의 이름입니다. 모니터링되는 테이블의 열은 반드시 기준 테이블에 모두 존재해야 합니다. |
custom_metrics |
Sequence | 모니터링되는 테이블에서 계산할 사용자 지정 메트릭입니다. 이러한 메트릭은 집계 메트릭, 파생 메트릭(이미 계산된 집계 메트릭에서) 또는 드리프트 메트릭(시간 기간 간 메트릭 비교)일 수 있습니다. custom_metrics 참조하세요. |
inference_log |
Map | 유추 로그를 모니터링하기 위한 구성입니다. inference_log 참조하세요. |
notifications |
Map | 모니터에 대한 알림 설정입니다. 알림을 참조하세요. |
output_schema_name |
String | 출력 메트릭 테이블이 만들어지는 스키마입니다. |
schedule |
Map | 메트릭 테이블을 자동으로 업데이트하고 새로 고치는 일정입니다. 일정을 참조하세요. |
skip_builtin_dashboard |
Boolean | 데이터 품질 메트릭을 요약하는 기본 대시보드 만들기를 건너뛸지 여부입니다. |
slicing_exprs |
Sequence | 대상 분석을 위해 데이터를 조각화할 열 식 목록입니다. 데이터는 각 표현별로 독립적으로 그룹화되므로, 각 술어와 그 보충에 대해 별도의 조각이 생성됩니다. 높은 카디널리티 열의 경우 상위 100개 고유 값만 빈도별로 조각이 생성됩니다. |
snapshot |
Map | 스냅샷 테이블 모니터링을 위한 구성입니다. |
table_name |
String | 테이블의 전체 이름입니다. |
time_series |
Map | 시계열 테이블을 모니터링하기 위한 구성입니다. time_series 참조하세요. |
warehouse_id |
String | 대시보드 만들기를 위해 웨어하우스를 지정하는 선택적 인수입니다. 지정하지 않으면 첫 번째 실행 웨어하우스가 사용됩니다. |
Examples
을 정의하는 전체 예제 번들은 quality_monitor
mlops_demo 번들을 참조하세요.
다음 예제에서는 InferenceLog, TimeSeries 및 스냅샷 프로필 형식에 대한 품질 모니터를 정의합니다.
# InferenceLog profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
inference_log:
granularities: [1 day]
model_id_col: model_id
prediction_col: prediction
label_col: price
problem_type: PROBLEM_TYPE_REGRESSION
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# TimeSeries profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
time_series:
granularities: [30 minutes]
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# Snapshot profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
snapshot: {}
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
등록된_모델(Unity 카탈로그)
Type: Map
등록된 모델 리소스를 사용하면 Unity 카탈로그에서 모델을 정의할 수 있습니다. Unity 카탈로그에서 등록된 모델에 대한 자세한 내용은 모델 수명 주기 관리를 참조하세요.
registered_models:
<registered_model-name>:
<registered_model-field-name>: <registered_model-field-value>
Key | Type | Description |
---|---|---|
catalog_name |
String | 스키마와 등록된 모델이 있는 카탈로그의 이름입니다. |
comment |
String | 등록된 모델에 첨부된 주석입니다. |
grants |
Sequence | 등록된 모델과 연관된 보조금입니다. 보조금을 참조하세요. |
name |
String | 등록된 모델의 이름입니다. |
schema_name |
String | 등록된 모델이 있는 스키마의 이름입니다. |
storage_location |
String | 모델 버전 데이터 파일이 저장되는 클라우드의 스토리지 위치입니다. |
Example
다음 예제에서는 Unity 카탈로그에 등록된 모델을 정의합니다.
resources:
registered_models:
model:
name: my_model
catalog_name: ${bundle.target}
schema_name: mlops_schema
comment: Registered model in Unity Catalog for ${bundle.target} deployment target
grants:
- privileges:
- EXECUTE
principal: account users
스키마(Unity Catalog)
Type: Map
스키마 리소스 유형을 사용하면 번들의 일부로 생성된 워크플로 및 파이프라인의 테이블 및 기타 자산에 대한 Unity 카탈로그 스키마을 정의할 수 있습니다. 다른 리소스 종류와 다른 스키마에는 다음과 같은 제한 사항이 있습니다.
- 스키마 리소스의 소유자는 항상 배포 사용자이며 변경할 수 없습니다. 번들에
run_as
가 지정되면 스키마에 대한 작업에서 이를 무시합니다. -
해당 스키마 객체 생성 API에서 지원하는 필드만 스키마 리소스에서 사용할 수 있습니다. 예를 들어
enable_predictive_optimization
업데이트 API만 사용할 수 있으므로 지원되지 않습니다.
schemas:
<schema-name>:
<schema-field-name>: <schema-field-value>
Key | Type | Description |
---|---|---|
catalog_name |
String | 부모 카탈로그의 이름입니다. |
comment |
String | 사용자가 제공한 자유 형식 텍스트 설명입니다. |
grants |
Sequence | 스키마와 연결된 권한 부여입니다. 보조금을 참조하세요. |
name |
String | 부모 카탈로그를 기준으로 하는 스키마의 이름입니다. |
properties |
Map | 스키마에 연결된 키-값 속성의 맵입니다. |
storage_root |
String | 스키마 내의 관리 테이블에 대한 스토리지 루트 URL입니다. |
Examples
다음 예제에서는 리소스 키 my_pipeline
을(를) 사용하여 파이프라인을 정의하고, 키 my_schema
을(를) 대상으로 하여 Unity 카탈로그 스키마를 만듭니다.
resources:
pipelines:
my_pipeline:
name: test-pipeline-{{.unique_id}}
libraries:
- notebook:
path: ../src/nb.ipynb
- file:
path: ../src/range.sql
development: true
catalog: ${resources.schemas.my_schema.catalog_name}
target: ${resources.schemas.my_schema.id}
schemas:
my_schema:
name: test-schema-{{.unique_id}}
catalog_name: main
comment: This schema was created by Databricks Asset Bundles.
최상위 권한 부여 매핑은 Databricks 자산 번들에서 지원되지 않으므로 스키마에 대한 권한을 설정하려면 schemas
매핑 내에서 스키마에 대한 권한을 정의합니다. 권한 부여에 대한 자세한 내용은 권한 표시, 부여 및 해지참조하세요.
다음 예제에서는 권한 부여를 사용하여 Unity 카탈로그 스키마를 정의합니다.
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main
시크릿_스코프
Type: Map
secret_scope 리소스를 사용하면 번들에서 비밀 범위를 정의할 수 있습니다. 비밀 범위에 대한 자세한 내용은 비밀 관리를 참조하세요.
secret_scopes:
<secret_scope-name>:
<secret_scope-field-name>: <secret_scope-field-value>
Key | Type | Description |
---|---|---|
backend_type |
String | 범위가 생성될 때 사용할 백엔드 유형. 지정하지 않으면 기본값은 .입니다 DATABRICKS . |
keyvault_metadata |
Map | 비밀 범위의 메타데이터는 backend_type 가 AZURE_KEYVAULT 인 경우입니다. |
name |
String | 사용자가 요청한 범위 이름입니다. 범위 이름은 고유합니다. |
permissions |
Sequence | 비밀 범위에 적용할 권한 설정입니다. 권한은 비밀 범위 ACL을 통해 관리됩니다. 사용 권한을 참조 하세요. |
Examples
다음 예제에서는 키 보관소 백엔드를 사용하는 비밀 범위를 정의합니다.
resources:
secret_scopes:
secret_scope_azure:
name: test-secrets-azure-backend
backend_type: 'AZURE_KEYVAULT'
keyvault_metadata:
resource_id: my_azure_keyvault_id
dns_name: my_azure_keyvault_dns_name
다음 예제에서는 비밀 범위 및 권한을 사용하여 사용자 지정 ACL을 설정합니다.
resources:
secret_scopes:
my_secret_scope:
name: my_secret_scope
permissions:
- user_name: admins
level: WRITE
- user_name: users
level: READ
번들 내에서 비밀 범위를 정의하고 이 범위에서 읽는 작업을 포함하는 작업을 설정하는 방법을 보여주는 예제 번들은 bundle-examples GitHub 리포지토리를 참조하세요.
볼륨(Unity 카탈로그)
Type: Map
볼륨 리소스 유형을 사용하여 번들의 일부로 Unity 카탈로그의 볼륨을 정의하고 생성할 수 있습니다. 볼륨이 정의된 번들을 배포하는 경우 다음 사항에 유의하세요.
- 작업 영역에 볼륨이 존재하기 전까지
artifact_path
에서 번들에 대한 참조가 불가능합니다. 따라서 Databricks 자산 번들을 사용하여 볼륨을 만들려면 먼저 번들 내에서 볼륨을 정의하고 그것을 배포하여 볼륨을 생성한 후, 후속 배포에서artifact_path
를 참조해야 합니다. - 배포 대상이
dev_${workspace.current_user.short_name}
로 설정된 경우, 번들에 있는 볼륨에mode: development
접두사가 추가되지 않습니다. 그러나 이 접두사를 수동으로 구성할 수 있습니다. 사용자 지정 사전 설정참조하세요.
volumes:
<volume-name>:
<volume-field-name>: <volume-field-value>
Key | Type | Description |
---|---|---|
catalog_name |
String | 스키마와 볼륨의 카탈로그 이름입니다. |
comment |
String | 볼륨에 첨부된 주석입니다. |
grants |
Sequence | 볼륨과 연결된 권한 부여입니다. 보조금을 참조하세요. |
name |
String | 볼륨의 이름입니다. |
schema_name |
String | 볼륨이 있는 스키마의 이름입니다. |
storage_location |
String | 클라우드의 스토리지 위치입니다. |
volume_type |
String | 볼륨 유형은 EXTERNAL 또는 MANAGED 중 하나입니다. 외부 볼륨은 지정된 외부 위치에 있습니다. 관리되는 볼륨은 부모 스키마 또는 부모 카탈로그 또는 메타스토어로 지정된 기본 위치에 있습니다.
관리되는 볼륨과 외부 볼륨을 참조하세요. |
Example
다음 예제에서는 키 my_volume_id
사용하여 Unity 카탈로그 볼륨을 만듭니다.
resources:
volumes:
my_volume_id:
catalog_name: main
name: my_volume
schema_name: my_schema
Unity 카탈로그 볼륨의 파일에 기록하는 작업을 실행하는 예제 번들을 보려면 번들 예제 GitHub 리포지토리를 참고하세요.
일반적인 물건
grants
Type: Sequence
Key | Type | Description |
---|---|---|
principal |
String | 권한이 부여될 사용자의 이름입니다. |
privileges |
Sequence | 지정된 엔터티에 부여할 수 있는 권한. |