Databricks 자산 번들을 사용하면 번들 구성의 resources 매핑에서 번들에서 사용하는 Azure Databricks 리소스에 대한 정보를 지정할 수 있습니다.
리소스 매핑 및 리소스 키 참조를 확인하세요.
이 페이지에서는 번들에 대해 지원되는 모든 리소스 종류에 대한 구성 참조를 제공하고 지원되는 각 유형에 대한 세부 정보 및 예제를 제공합니다. 추가 예제는 번들 구성 예제참조하세요.
YAML 구성의 유효성을 검사하는 데 사용되는 번들에 대한 JSON 스키마는 Databricks CLI GitHub 리포지토리에 있습니다.
Tip
기존 리소스에 대한 YAML을 생성하려면 databricks bundle generate 명령을 사용합니다.
databricks 번들 생성을 참조하세요.
지원되는 리소스
다음 표에서는 번들에 대해 지원되는 리소스 종류(해당하는 경우 YAML 및 Python)를 나열합니다. 일부 리소스는 번들에 정의하고 번들을 배포하여 만들 수 있으며, 일부 리소스는 번들에 포함할 기존 자산을 참조해야만 만들 수 있습니다.
리소스 구성은 Databricks REST API 개체에 해당하는 Databricks 개체를 정의합니다. YAML로 표현되는 REST API 개체의 지원되는 만들기 요청 필드는 리소스의 지원되는 키입니다. 각 리소스의 해당 개체에 대한 설명서에 대한 링크는 아래 표에 있습니다.
Tip
databricks bundle validate 명령은 번들 구성 파일에서 알 수 없는 리소스 속성이 발견되면 경고를 반환합니다.
| Resource | Python 지원 | 해당 REST API 개체 |
|---|---|---|
| 경고 | 경고 개체 | |
| app | 앱 개체 | |
| cluster | 클러스터 개체 | |
| dashboard | 대시보드 개체 | |
| database_catalog | 데이터베이스 카탈로그 개체 | |
| database_instance | 데이터베이스 인스턴스 개체 | |
| experiment | 실험 개체 | |
| job | 직업 | 작업 개체 |
| 모델(레거시) | Model(레거시) 개체 | |
| model_serving_endpoint | 모델 제공 엔드포인트 객체 | |
| pipeline | Pipelines | 파이프라인 개체 |
| quality_monitor | 품질 모니터 개체 | |
| registered_model(Unity 카탈로그) | 등록된 모델 개체 |
|
| 스키마(Unity Catalog) | 스키마 | 스키마 개체 |
| secret_scope | 비밀 스코프 객체 | |
| sql_warehouse | SQL 웨어하우스 개체 | |
| 동기화된_데이터베이스_테이블 | 동기화된 데이터베이스 테이블 개체 | |
| 볼륨 (유니티 카탈로그) | 볼륨 | 볼륨 개체 |
경고
Type: Map
경고 리소스는 SQL 경고(v2)를 정의합니다.
alerts:
<alert-name>:
<alert-field-name>: <alert-field-value>
| Key | Type | Description |
|---|---|---|
custom_description |
String | Optional. 경고에 대한 사용자 지정 설명입니다. 콧수염 템플릿을 지원합니다. |
custom_summary |
String | Optional. 경고에 대한 사용자 지정 요약입니다. 콧수염 템플릿을 지원합니다. |
display_name |
String | 필수 사항입니다. 경고의 표시 이름입니다(예: .) Example alert. |
evaluation |
Map | 필수 사항입니다. 경고에 대한 평가 구성입니다. alert.evaluation을 참조하세요. |
parent_path |
String | Optional. 경고가 포함된 폴더의 작업 영역 경로입니다. 만들기에만 설정할 수 있으며 업데이트할 수 없습니다. 예: /Users/someone@example.com. |
permissions |
Sequence | 경고 권한입니다. 사용 권한을 참조 하세요. |
query_text |
String | 필수 사항입니다. 실행할 쿼리의 텍스트입니다(예: SELECT 1.). |
run_as |
Map | Optional. 경고를 실행하는 데 사용할 ID를 지정합니다. 이 필드를 사용하면 경고를 특정 사용자 또는 서비스 주체로 실행하도록 구성할 수 있습니다.
run_as 참조하세요.
|
schedule |
Map | 필수 사항입니다. 경고에 대한 일정 구성입니다. alert.schedule을 참조하세요. |
warehouse_id |
String | 필수 사항입니다. 경고에 연결된 SQL 웨어하우스의 ID입니다(예: a7066a8ef796be84.). |
경고 평가
Type: Map
경고에 대한 평가 구성입니다.
| Key | Type | Description |
|---|---|---|
comparison_operator |
String | 경고 평가에서 비교에 사용되는 연산자입니다. |
empty_result_state |
String | 결과가 비어 있는 경우의 경고 상태입니다.
UNKNOWN 필드를 설정하지 마십시오, 왜냐하면 UNKNOWN 상태는 더 이상 사용되지 않을 계획입니다. |
notification |
Map | 경고가 트리거될 때 알릴 사용자 또는 기타 대상입니다. alert.evaluation.notification을 참조하세요. |
source |
Map | 경고를 평가하는 데 사용할 결과의 원본 열입니다. alert.evaluation.source를 참조하세요. |
threshold |
Map | 경고 평가에 사용할 임계값입니다. 열 또는 값일 수 있습니다. alert.evaluation.threshold를 참조하세요. |
alert.evaluation.notification
Type: Map
경고가 트리거될 때 알릴 사용자 또는 기타 대상입니다.
| Key | Type | Description |
|---|---|---|
notify_on_ok |
Boolean | Optional. 경고가 정상으로 돌아올 때 경고 구독자에게 알릴지 여부입니다. |
retrigger_seconds |
Integer | Optional. 다른 알림을 보내기 전에 경고가 트리거된 후 대기하는 시간(초)입니다. 설정 0 하거나 생략하면 경고는 첫 번째 트리거 후에 추가 알림을 보내지 않습니다. 이 값을 설정하면 1 경고가 조건이 충족되는 모든 평가에서 알림을 보낼 수 있으므로 알림 목적으로 항상 다시 시도하게 됩니다. |
subscriptions |
Sequence | Optional. 순서가 지정되지 않은 알림 구독 목록입니다. alert.evaluation.notification.subscriptions를 참조하세요. |
알림 평가 알림 구독
Type: Sequence
순서가 지정되지 않은 알림 구독 목록입니다.
목록의 각 항목은 AlertSubscription입니다.
| Key | Type | Description |
|---|---|---|
destination_id |
String | 알림 대상의 ID입니다. |
user_email |
String | 알릴 사용자의 이메일 주소입니다. |
alert.evaluation.source
Type: Map
경고를 평가하는 데 사용할 결과의 원본 열입니다.
| Key | Type | Description |
|---|---|---|
aggregation |
String | 원본 열에 적용할 집계 메서드입니다. 유효한 값은 SUM,, COUNTCOUNT_DISTINCT, AVGMEDIAN, MIN, MAXSTDDEV |
display |
String | 원본 열의 표시 이름입니다. |
name |
String | 쿼리 결과의 원본 열 이름입니다. |
알림.평가.임계값
Type: Map
경고 평가에 사용할 임계값은 열 또는 값일 수 있습니다.
| Key | Type | Description |
|---|---|---|
column |
Map | 임계값으로 사용할 열 참조 기준입니다. alert.evaluation.source를 참조하세요. |
value |
Map | 임계값으로 사용할 리터럴 값입니다. alert.evaluation.threshold.value를 참조하세요. |
알림.평가.임계값.값
Type: Map
기준치로 사용할 리터럴 값입니다. 다음 값 형식 중 하나를 지정합니다.
| Key | Type | Description |
|---|---|---|
bool_value |
Boolean | Optional. 임계값에 대한 부울 값, 예를 들어 true와 같은 값입니다. |
double_value |
Double | Optional. 임계값의 숫자 값입니다(예: .) 1.25. |
string_value |
String | Optional. 임계값에 대한 문자열 값(예: .) test |
경고.일정
Type: Map
경고에 대한 일정 구성입니다.
| Key | Type | Description |
|---|---|---|
pause_status |
String | Optional. 이 일정이 일시 중지되었는지 여부입니다. 유효한 값: UNPAUSED, . PAUSED 기본값: UNPAUSED. |
quartz_cron_schedule |
String | 필수 사항입니다. 이 파이프라인의 일정을 지정하는 Quartz 구문을 사용하는 cron 식입니다. 쿼츠 형식은 쿼츠 스케줄러 형식으로 설명됩니다. |
timezone_id |
String | 필수 사항입니다. Java 표준 시간대 ID입니다. 일정은 이 표준 시간대를 사용하여 해결됩니다. 일정을 결정하기 위해 이 항목과 quartz_cron_schedule 결합됩니다. 자세한 내용은 SET TIME ZONE를 참조하세요. |
Examples
다음 예제 구성은 간단한 평가로 경고를 정의합니다.
resources:
alerts:
my_alert:
display_name: my_alert
evaluation:
comparison_operator: EQUAL
source:
name: '1'
threshold:
value:
double_value: 2
query_text: select 2
schedule:
quartz_cron_schedule: '44 19 */1 * * ?'
timezone_id: Europe/Amsterdam
warehouse_id: 799f096837fzzzz4
다음 예제 구성은 집계를 사용하여 평가하고 알림을 보내는 권한이 있는 경고를 정의합니다.
resources:
alerts:
my_alert:
permissions:
- level: CAN_MANAGE
user_name: someone@example.com
custom_summary: 'My alert'
display_name: 'My alert'
evaluation:
comparison_operator: 'EQUAL'
notification:
notify_on_ok: false
retrigger_seconds: 1
source:
aggregation: 'MAX'
display: '1'
name: '1'
threshold:
value:
double_value: 2
query_text: 'select 2'
schedule:
pause_status: 'UNPAUSED'
quartz_cron_schedule: '44 19 */1 * * ?'
timezone_id: 'Europe/Amsterdam'
warehouse_id: 799f096837fzzzz4
앱
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입니다. |
compute_size |
String | 앱의 컴퓨팅 크기입니다. 유효한 값은 MEDIUMLARGE 작업 영역 구성에 따라 다릅니다. |
config |
Map | Deprecated. 대신 app.yaml 파일에서 앱 구성 명령 및 환경 변수를 정의합니다.
Databricks 앱 구성을 참조하세요. |
description |
String | 앱에 대한 설명입니다. |
lifecycle |
Map | 리소스가 배포되거나 제거될 때의 동작입니다. 수명 주기를 참조하세요. |
name |
String | 앱의 이름입니다. 이름에는 소문자 영숫자 및 하이픈만 포함되어야 합니다. 작업 영역 내에서 고유해야 합니다. |
permissions |
Sequence | 앱의 권한입니다. 사용 권한을 참조 하세요. |
resources |
Sequence | 앱의 컴퓨트 리소스. app.resources를 참조하세요. |
source_code_path |
String |
./app Databricks 앱 소스 코드의 로컬 경로입니다. |
user_api_scopes |
Sequence | 사용자 API 범위입니다. |
앱 리소스
Type: Sequence
앱에 대한 컴퓨팅 리소스 목록입니다.
목록의 각 항목은 AppResource입니다.
| Key | Type | Description |
|---|---|---|
description |
String | 앱 리소스에 대한 설명입니다. |
database |
Map | 사용할 Lakebase 데이터베이스를 식별하는 설정입니다. app.resources.database를 참조하세요. |
genie_space |
Map | 사용할 지니 공간을 식별하는 설정입니다. app.resources.genie_space 참조하세요. |
job |
Map | 사용할 작업 리소스를 식별하는 설정입니다. app.resources.job을 참조하세요. |
name |
String | 앱 리소스의 이름입니다. |
secret |
Map | 사용할 Azure Databricks 비밀 리소스를 식별하는 설정입니다. app.resources.secret을 참조하세요. |
serving_endpoint |
Map | 사용할 엔드포인트 리소스를 제공하는 모델을 식별하는 설정입니다. app.resources.serving_endpoint 참조하세요. |
sql_warehouse |
Map | 사용할 SQL 웨어하우스 리소스를 식별하는 설정입니다. app.resources.sql_warehouse를 참조하세요. |
uc_securable |
Map | 사용할 Unity 카탈로그 볼륨을 식별하는 설정입니다. app.resources.uc_securable 참조하세요. |
애플리케이션.자원.데이터베이스
Type: Map
사용할 Lakebase 데이터베이스를 식별하는 설정입니다.
| Key | Type | Description |
|---|---|---|
database_name |
String | 데이터베이스의 이름입니다. |
instance_name |
String | 데이터베이스 인스턴스의 이름입니다. |
permission |
String | 데이터베이스에 대한 사용 권한 수준입니다. 유효한 값은 CAN_CONNECT_AND_CREATE입니다. |
app.resources.genie_space
Type: Map
사용할 지니 공간을 식별하는 설정입니다.
| Key | Type | Description |
|---|---|---|
name |
String | 지니 공간의 이름입니다. |
permission |
String | 공간에 대한 사용 권한 수준입니다. 유효한 값에는 , CAN_VIEW, CAN_EDITCAN_MANAGE등이 있습니다CAN_RUN. |
space_id |
String | 예를 들어 550e8400-e29b-41d4-a716-999955440000지니 공간의 ID입니다. |
app.resources.job
Type: Map
사용할 작업 리소스를 식별하는 설정입니다.
| Key | Type | Description |
|---|---|---|
id |
String | 작업 ID입니다. |
permission |
String | 작업에 대한 사용 권한 수준입니다. 유효한 값에는 , CAN_VIEW, CAN_MANAGE_RUNCAN_MANAGE등이 있습니다IS_OWNER. |
앱.리소스.시크릿
Type: Map
사용할 Azure Databricks 비밀 리소스를 식별하는 설정입니다.
| Key | Type | Description |
|---|---|---|
key |
String | 권한을 부여할 비밀의 키입니다. |
permission |
String | 비밀에 대한 권한 수준입니다. 유효한 값에는 READ, . WRITEMANAGE |
scope |
String | 비밀 범위의 이름입니다. |
앱.리소스.서비스_엔드포인트
Type: Map
사용할 엔드포인트 리소스를 제공하는 모델을 식별하는 설정입니다.
| Key | Type | Description |
|---|---|---|
name |
String | 제공 엔드포인트의 이름입니다. |
permission |
String | 서비스 엔드포인트에 대한 권한 수준입니다. 유효한 값에는 CAN_QUERY, . CAN_MANAGECAN_VIEW |
app.resources.sql_warehouse
Type: Map
사용할 SQL 웨어하우스를 식별하는 설정입니다.
| Key | Type | Description |
|---|---|---|
id |
String | SQL 웨어하우스의 ID입니다. |
permission |
String | SQL 웨어하우스에 대한 권한 수준입니다. 유효한 값에는 CAN_USE, . CAN_MANAGEIS_OWNER |
app.resources.uc_securable (사용 가능한 보안 설정 리소스)
Type: Map
사용할 Unity 카탈로그 볼륨을 식별하는 설정입니다.
| Key | Type | Description |
|---|---|---|
permission |
String | Unity 카탈로그 보안 개체에 대한 사용 권한 수준입니다. 유효한 값은 READ_VOLUME 및 WRITE_VOLUME입니다. |
securable_full_name |
String | Unity 카탈로그에서 보안 가능한 개체의 전체 이름은 형식 catalog.schema.volume입니다. |
securable_type |
String | Unity 카탈로그 보안 개체의 형식입니다. 유효한 값은 VOLUME입니다. |
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:
environment_version: '2'
# 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 볼륨)에 이러한 태그를 지정합니다. |
data_security_mode |
String | 클러스터에서 데이터에 액세스할 때 사용할 데이터 거버넌스 모델입니다. 유효한 값에는 ,NONE, SINGLE_USER, USER_ISOLATIONLEGACY_SINGLE_USERLEGACY_TABLE_ACL, 등이 있습니다.LEGACY_PASSTHROUGH |
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.extraJavaOptionsspark.executor.extraJavaOptions 드라이버 및 실행기에 전달할 수도 있습니다. |
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 참조하세요. |
클러스터.오토스케일링
Type: Map
부하에 따라 클러스터를 자동으로 확장 및 축소하기 위한 매개 변수입니다.
| Key | Type | Description |
|---|---|---|
min_workers |
Integer | 사용량이 부족할 때 클러스터를 축소할 수 있는 최소 작업자 수입니다. 또한 클러스터를 만든 후 갖게 될 초기 작업자 수이기도 합니다. |
max_workers |
Integer | 오버로드 시 클러스터가 확장될 수 있는 최대 작업자 수입니다.
max_workers 는 엄밀히 말하면 .보다 min_workers커야 합니다. |
클러스터.AWS 속성
Type: Map
Amazon Web Services에서 실행되는 클러스터와 관련된 특성입니다.
| Key | Type | Description |
|---|---|---|
zone_id |
String | 클러스터가 있는 가용성 영역/데이터 센터의 식별자입니다. 이 문자열은 다음과 같은 us-west-2a형식입니다. |
availability |
String | 이후의 모든 노드에 first_on_demand 외의 가용성 유형이 사용됩니다. 유효한 값은 SPOT, ON_DEMAND. SPOT_WITH_FALLBACK |
spot_bid_price_percent |
Integer | AWS 스폿 인스턴스의 최대 가격(해당 인스턴스 유형의 주문형 가격 백분율)입니다. |
instance_profile_arn |
String | 이 클러스터의 노드는 이 인스턴스 프로필을 사용하는 AWS 인스턴스에만 배치됩니다. |
first_on_demand |
Integer | 클러스터의 첫 번째 first_on_demand 노드는 주문형 인스턴스에 배치됩니다. 클러스터 드라이버 노드가 주문형 인스턴스에 배치되도록 하려면 이 값이 보다 0커야 합니다. |
ebs_volume_type |
String | 이 클러스터와 함께 시작될 EBS 볼륨의 유형입니다. 유효한 값은 GENERAL_PURPOSE_SSD 또는 THROUGHPUT_OPTIMIZED_HDD. |
ebs_volume_count |
Integer | 각 인스턴스에 대해 시작된 볼륨 수입니다. |
ebs_volume_size |
Integer | 각 인스턴스에 대해 시작된 각 EBS 볼륨의 크기(GiB)입니다. |
ebs_volume_iops |
Integer | EBS gp3 볼륨당 IOPS 수입니다. |
ebs_volume_throughput |
Integer | 초당 MiB인 EBS gp3 볼륨당 처리량입니다. |
클러스터.애저_속성
Type: Map
Microsoft Azure에서 실행되는 클러스터와 관련된 특성입니다.
| Key | Type | Description |
|---|---|---|
first_on_demand |
Integer | 클러스터의 첫 번째 first_on_demand 노드는 주문형 인스턴스에 배치됩니다. |
availability |
String | 이후의 모든 노드에 first_on_demand 외의 가용성 유형이 사용됩니다. 유효한 값은 SPOT_AZURE, ON_DEMAND_AZURE. SPOT_WITH_FALLBACK_AZURE |
spot_bid_max_price |
Number | Azure 스폿 인스턴스의 최대 가격입니다. 최저 가격을 지정하는 데 사용합니다 -1 . |
클러스터.gcp_속성
Type: Map
Google Cloud Platform에서 실행되는 클러스터와 관련된 특성입니다.
| Key | Type | Description |
|---|---|---|
use_preemptible_executors |
Boolean | 선점 실행기를 사용할지 여부입니다. 선점 가능한 실행기는 GCE에서 언제든지 회수할 수 있는 선점 가능한 GCE 인스턴스입니다. |
google_service_account |
String | Databricks 클러스터 VM 인스턴스에서 사용할 Google 서비스 계정입니다. |
local_ssd_count |
Integer | 클러스터의 각 노드에 연결할 로컬 SSD의 수입니다. 기본값은 0입니다. |
zone_id |
String | 클러스터가 있는 가용성 영역/데이터 센터의 식별자입니다. |
availability |
String | 모든 노드에 사용되는 가용성 유형입니다. 유효한 값은 PREEMPTIBLE_GCP, ON_DEMAND_GCP. PREEMPTIBLE_WITH_FALLBACK_GCP |
boot_disk_size |
Integer | 부팅 디스크의 크기(GB)입니다. 값의 범위는 일반적으로 100에서 1000까지입니다. |
cluster.cluster_log_conf
Spark 로그를 장기 스토리지 대상으로 배달하기 위한 구성입니다.
| Key | Type | Description |
|---|---|---|
dbfs |
Map | 클러스터 로그 배달을 위한 DBFS 위치입니다. dbfs를 참조하세요. |
s3 |
Map | 클러스터 로그 배달을 위한 S3 위치입니다. s3을 참조하세요. |
volumes |
Map | 클러스터 로그 배달을 위한 볼륨 위치입니다. 볼륨을 참조하세요. |
cluster.cluster_log_conf.dbfs
Type: Map
클러스터 로그 배달을 위한 DBFS 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | 클러스터 로그 배달을 위한 DBFS 경로입니다(예: dbfs:/cluster-logs). |
cluster.cluster_log_conf.s3
Type: Map
클러스터 로그 배달을 위한 S3 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | 클러스터 로그 배달을 위한 S3 URI(예: s3://my-bucket/cluster-logs)입니다. |
region |
String | S3 버킷의 AWS 지역입니다. |
endpoint |
String | S3 엔드포인트 URL(선택 사항)입니다. |
enable_encryption |
Boolean | 클러스터 로그에 암호화를 사용하도록 설정할지 여부입니다. |
encryption_type |
String | 암호화 유형입니다. 유효한 값에는 SSE_S3, SSE_KMS이(가) 포함됩니다. |
kms_key |
String | 암호화를 위한 KMS 키 ARN입니다(SSE_KMS을/를 사용할 때). |
canned_acl |
String | 클러스터 로그에 적용할 기본 설정된 ACL입니다. |
cluster.cluster_log_conf.volumes
Type: Map
클러스터 로그 배달을 위한 볼륨 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | 클러스터 로그 배달(예: /Volumes/catalog/schema/volume/cluster_log)에 대한 볼륨 경로입니다. |
cluster.docker_image
Type: Map
사용자 지정 Docker 이미지 구성입니다.
| Key | Type | Description |
|---|---|---|
url |
String | Docker 이미지의 URL입니다. |
basic_auth |
Map | Docker 리포지토리에 대한 기본 인증입니다. basic_auth 참조하세요. |
클러스터.docker_image.기본 인증
Type: Map
Docker 리포지토리에 대한 기본 인증입니다.
| Key | Type | Description |
|---|---|---|
username |
String | Docker 레지스트리 인증의 사용자 이름입니다. |
password |
String | Docker 레지스트리 인증에 대한 암호입니다. |
cluster.init_scripts
Type: Map
init 스크립트를 저장하기 위한 구성입니다. 하나 이상의 위치 유형을 지정해야 합니다.
| Key | Type | Description |
|---|---|---|
dbfs |
Map | init 스크립트의 DBFS 위치입니다. dbfs를 참조하세요. |
workspace |
Map | init 스크립트의 작업 영역 위치입니다. 작업 영역을 참조하십시오. |
s3 |
Map | init 스크립트의 S3 위치입니다. s3을 참조하세요. |
abfss |
Map | init 스크립트의 ABFSS 위치입니다. abfss를 참조하세요. |
gcs |
Map | init 스크립트의 GCS 위치입니다. gcs를 참조하세요. |
volumes |
Map | init 스크립트의 UC 볼륨 위치입니다. 볼륨을 참조하세요. |
cluster.init_scripts.dbfs
Type: Map
init 스크립트의 DBFS 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | init 스크립트의 DBFS 경로입니다. |
cluster.init_scripts.workspace
Type: Map
init 스크립트의 작업 영역 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | init 스크립트의 작업 영역 경로입니다. |
cluster.init_scripts.s3
Type: Map
init 스크립트의 S3 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | init 스크립트의 S3 URI입니다. |
region |
String | S3 버킷의 AWS 지역입니다. |
endpoint |
String | S3 엔드포인트 URL(선택 사항)입니다. |
cluster.init_scripts.abfss
Type: Map
init 스크립트의 ABFSS 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | init 스크립트의 ABFSS 경로입니다. |
cluster.init_scripts.gcs
Type: Map
init 스크립트의 GCS 위치입니다.
| Key | Type | Description |
|---|---|---|
destination |
String | init 스크립트의 GCS 경로입니다. |
cluster.init_scripts.volumes
Type: Map
init 스크립트의 볼륨 위치
| Key | Type | Description |
|---|---|---|
destination |
String | init 스크립트의 UC 볼륨 경로입니다. |
cluster.작업_유형
Type: Map
클러스터 워크로드 유형을 보여 주는 클러스터 특성입니다.
| Key | Type | Description |
|---|---|---|
clients |
Map | 클러스터를 사용할 수 있는 클라이언트 유형을 정의합니다. 클라이언트를 참조하세요. |
cluster.workload_type.클라이언트
Type: Map
이 컴퓨팅 워크로드에 대한 클라이언트 유형입니다.
| Key | Type | Description |
|---|---|---|
jobs |
Boolean | 클러스터에서 작업을 실행할 수 있는지 여부입니다. |
notebooks |
Boolean | 클러스터에서 Notebook을 실행할 수 있는지 여부입니다. |
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 대시보드에 대한 자세한 내용은 대시보드참조하세요.
로컬 환경에서 대시보드가 포함된 번들을 배포한 다음 UI를 사용하여 해당 대시보드를 수정한 경우 UI를 통해 수정한 내용은 명시적으로 업데이트 bundle generate하지 않는 한 로컬 번들의 대시보드 JSON 파일에 적용되지 않습니다.
--watch 옵션을 사용하여 대시보드에 대한 변경 내용을 지속적으로 폴링하고 검색할 수 있습니다.
databricks 번들 생성을 참조하세요.
또한 원격 작업 영역에 있는 것과 다른 대시보드 JSON 파일이 포함된 로컬 환경에서 번들을 배포하려고 하면 오류가 발생합니다. 원격 작업 영역의 대시보드를 로컬 대시보드로 강제로 배포하고 덮어쓰려면 --force 옵션을 사용합니다.
databricks 번들 배포를 참조하세요.
Note
대시보드 Git 지원과 함께 Databricks 자산 번들을 사용하는 경우 대시보드가 파일로 동기화되지 않도록 동기화 매핑을 추가하여 중복 대시보드가 생성되지 않도록 합니다.
sync:
exclude:
- src/*.lvdash.json
dashboards:
<dashboard-name>:
<dashboard-field-name>: <dashboard-field-value>
| Key | Type | Description |
|---|---|---|
display_name |
String | 대시보드의 표시 이름입니다. |
embed_credentials |
Boolean | 번들 배포 ID 자격 증명을 사용하여 모든 대시보드 뷰어에 대한 쿼리를 실행할지 여부입니다. 설정된 false경우 뷰어의 자격 증명이 사용됩니다. 기본값은 false입니다. |
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}
데이터베이스 카탈로그
Type: Map
데이터베이스 카탈로그 리소스를 사용하면 번들의 데이터베이스 인스턴스 에 해당하는 데이터베이스 카탈로그를 정의할 수 있습니다. 데이터베이스 카탈로그는 Unity 카탈로그 카탈로그로 등록된 Lakebase 데이터베이스입니다.
데이터베이스 카탈로그에 대한 자세한 내용은 카탈로그 만들기를 참조하세요.
database_catalogs:
<database_catalog-name>:
<database_catalog-field-name>: <database_catalog-field-value>
| Key | Type | Description |
|---|---|---|
create_database_if_not_exists |
Boolean | 데이터베이스가 없는 경우 데이터베이스를 만들지 여부를 지정합니다. |
database_instance_name |
String | 데이터베이스를 수용하는 인스턴스의 이름입니다. |
database_name |
String | 카탈로그와 연결된 데이터베이스의 이름(인스턴스)입니다. |
lifecycle |
Map | 리소스가 배포되거나 제거될 때의 동작을 포함하여 리소스에 대한 수명 주기 설정을 포함합니다. 수명 주기를 참조하세요. |
name |
String | Unity 카탈로그의 카탈로그 이름입니다. |
Example
다음 예제에서는 해당 데이터베이스 카탈로그를 사용하여 데이터베이스 인스턴스 를 정의합니다.
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true
데이터베이스_인스턴스
Type: Map
데이터베이스 인스턴스 리소스를 사용하면 번들에 데이터베이스 인스턴스를 정의할 수 있습니다. Lakebase 데이터베이스 인스턴스는 스토리지 및 컴퓨팅 리소스를 관리하고 사용자가 연결하는 엔드포인트를 제공합니다.
중요합니다
데이터베이스 인스턴스를 사용하여 번들을 배포하면 인스턴스가 즉시 실행되고 가격 책정이 적용됩니다. Lakebase 가격 책정을 참조하세요.
데이터베이스 인스턴스에 대한 자세한 내용은 데이터베이스 인스턴스란?을 참조하세요.
database_instances:
<database_instance-name>:
<database_instance-field-name>: <database_instance-field-value>
| Key | Type | Description |
|---|---|---|
capacity |
String | 인스턴스의 sku입니다. 유효한 값은 CU_1, CU_2, CU_4, CU_8. |
custom_tags |
Sequence | 인스턴스와 연결된 사용자 지정 태그를 지정하는 키-값 쌍의 목록입니다. |
enable_pg_native_login |
Boolean | 인스턴스에 PG 네이티브 암호 로그인이 활성화되어 있는지 여부입니다. 기본값은 true입니다. |
enable_readable_secondaries |
Boolean | 보조 복제본이 읽기 전용 트래픽을 제공하도록 설정할지 여부입니다. 기본값은 false입니다. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
name |
String | 인스턴스의 이름입니다. 인스턴스의 고유 식별자입니다. |
node_count |
Integer | 1개의 주 노드와 0개 이상의 보조 복제본으로 구성된 인스턴스의 노드 수입니다. 기본값은 1개의 주 복제본과 0개의 보조 복제본으로 설정됩니다. |
parent_instance_ref |
Map | 부모 인스턴스의 참조입니다. 인스턴스가 자식 인스턴스인 경우에만 사용할 수 있습니다. 부모 인스턴스를 참조하세요. |
permissions |
Sequence | 데이터베이스 인스턴스의 권한입니다. 사용 권한을 참조 하세요. |
retention_window_in_days |
Integer | 인스턴스의 보존 기간입니다. 기록 데이터가 보존되는 기간(일)입니다. 기본값은 7일입니다. 유효한 값은 2~35일입니다. |
stopped |
Boolean | 인스턴스가 중지되었는지 여부입니다. |
usage_policy_id |
String | 인스턴스와 연결할 원하는 사용 정책입니다. |
데이터베이스_인스턴스의 기본_인스턴스_참조
Type: Map
부모 인스턴스의 참조입니다. 인스턴스가 자식 인스턴스인 경우에만 사용할 수 있습니다.
| Key | Type | Description |
|---|---|---|
branch_time |
String | ref 데이터베이스 인스턴스의 분기 시간입니다. 부모 ref 인스턴스의 경우 인스턴스가 만들어진 부모 인스턴스의 지정 시간입니다. 자식 참조 인스턴스의 경우, 이는 자식 인스턴스가 생성된 참조 인스턴스의 시점입니다. |
lsn |
String | 참조 데이터베이스 인스턴스의 사용자 지정 WAL LSN입니다. |
name |
String | ref 데이터베이스 인스턴스의 이름입니다. |
Example
다음 예제에서는 해당 데이터베이스 카탈로그를 사용하여 데이터베이스 인스턴스를 정의합니다.
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true
데이터베이스 인스턴스 및 해당 데이터베이스 카탈로그를 정의하는 방법을 보여 주는 예제 번들은 번들 예제 GitHub 리포지토리를 참조하세요.
실험
Type: Map
실험 리소스를 사용하면 패키지에 MLflow 실험을 정의할 수 있습니다. MLflow 실험과 관련된 정보를 얻으려면 MLflow 실험을 사용하여 학습 실행을 구성하는 방법을 참조하세요.
experiments:
<experiment-name>:
<experiment-field-name>: <experiment-field-value>
| Key | Type | Description |
|---|---|---|
artifact_location |
String | 실험의 아티팩트가 저장되는 위치입니다. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
name |
String | 실험을 식별하는 식별 이름입니다. 실험 이름은 Databricks 작업 영역의 절대 경로여야 합니다. 예를 들면 다음과 같습니다 /Workspace/Users/someone@example.com/my_experiment. |
permissions |
Sequence | 실험에 대한 권한입니다. 사용 권한을 참조 하세요. |
tags |
Sequence | 추가 메타데이터 키-값 쌍들. 태그를 참조하세요. |
Example
다음 예제에서는 모든 사용자가 볼 수 있는 실험을 정의합니다.
resources:
experiments:
experiment:
name: /Workspace/Users/someone@example.com/my_experiment
permissions:
- level: CAN_READ
group_name: users
description: MLflow experiment used to track runs
작업
Type: Map
작업은 Databricks 자산 번들에 대해 Python을 통해 지원됩니다. databricks.bundles.jobs 참조하세요.
번들에서 작업과 해당 작업에 연결된 태스크를 정의할 수 있도록 작업 리소스를 사용하십시오.
작업에 대한 자세한 내용은 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 | Deprecated. 작업의 형식입니다. |
git_source |
Map | 태스크에서 사용하는 소스 코드를 포함하는 원격 Git 리포지토리에 대한 선택적 사양입니다.
job.git_source 참조하세요. 중요하다: 로컬 상대 경로가 git_source Git 리포지토리의 동일한 콘텐츠를 가리키지 않을 수 있으며 번들은 배포된 작업이 배포된 로컬 복사본과 동일한 콘텐츠를 포함할 것으로 예상하므로 번들에 대해 설정된 source 필드와 작업 GIT 필드는 권장되지 않습니다.대신 리포지토리를 로컬로 복제하고 이 리포지토리 내에서 번들 프로젝트를 설정하여 작업의 원본이 작업 영역이 되도록 합니다. |
health |
Map | 이 작업에 대해 정의할 수 있는 선택적 건강 규칙 집합입니다. 건강을 참조하세요. |
job_clusters |
Sequence | 이 작업의 태스크에서 공유하고 다시 사용할 수 있는 작업 클러스터 사양 목록입니다. job_clusters 참조하세요. |
max_concurrent_runs |
Integer | 선택적으로 허용되는 작업의 최대 동시 실행 수입니다. 동일한 작업의 여러 실행을 동시에 실행할 수 있도록 하려면 이 값을 설정합니다. |
name |
String | 작업에 대한 선택적 이름입니다. 최대 길이는 UTF-8 인코딩에서 4096바이트입니다. |
notification_settings |
Map | 이 작업에 대해 각각 email_notifications 과 webhook_notifications 에 알림을 보낼 때 사용되는 선택적 알림 설정입니다.
notification_settings 참조하세요. |
parameters |
Sequence | 작업 수준 매개 변수 정의입니다. |
performance_target |
String | 서버리스에서 실행의 성능 또는 비용 효율성을 정의합니다. |
permissions |
Sequence | 작업 권한 사용 권한을 참조 하세요. |
queue |
Map | 작업의 큐 설정입니다. 큐를 참조 하세요. |
run_as |
Map | 쓰기 전용 설정입니다. 작업이 실행되는 사용자 또는 서비스 주체를 지정합니다. 지정하지 않으면 작업이 작업을 만든 사용자로 실행됩니다.
user_name 또는 service_principal_name 중 하나를 지정해야 합니다. 그렇지 않으면 오류가 throw됩니다.
run_as 참조하세요. |
schedule |
Map | 이 작업에 대한 선택적 정기 일정입니다. 기본 동작은 작업 UI에서 "지금 실행"을 클릭하거나 API 요청을 전송하여 트리거될 때만 작업이 실행된다는 것입니다 runNow.
일정을 참조하세요. |
tags |
Map | 작업과 연결된 태그의 맵입니다. 이러한 태그는 작업 클러스터에 대한 클러스터 태그로 클러스터에 전달되며 클러스터 태그와 동일한 제한 사항이 적용됩니다. 최대 25개의 태그를 작업에 추가할 수 있습니다. |
tasks |
Sequence | 이 작업에서 실행할 작업 사양 목록입니다. Databricks 자산 번들에서 작업에 태스크 추가하기. |
timeout_seconds |
Integer | 이 작업의 각 실행에 적용되는 선택적 시간 제한입니다. 값은 0 시간 제한이 없음을 의미합니다. |
trigger |
Map | 특정 조건이 충족될 때 실행을 트리거하는 구성입니다. 트리거를 참조하십시오. |
webhook_notifications |
Map | 이 작업의 실행이 시작되거나 완료될 때 알릴 시스템 알림 ID의 컬렉션입니다. webhook_notifications 참조하세요. |
작업.지속적인
Type: Map
연속 작업 실행을 위한 구성입니다.
| Key | Type | Description |
|---|---|---|
pause_status |
String | 연속 작업이 일시 중지되었는지 여부입니다. 유효한 값: PAUSED, . UNPAUSED |
task_retry_mode |
String | 연속 작업이 작업 수준 재시도를 적용하는 방법을 나타냅니다. 유효한 값은 NEVER 및 ON_FAILURE입니다. 기본값은 NEVER입니다. |
작업.배포
Type: Map
외부 원본에서 관리하는 작업에 대한 배포 정보입니다.
| Key | Type | Description |
|---|---|---|
kind |
String | 배포의 종류 예: BUNDLE. |
metadata_file_path |
String | 배포에 대한 메타데이터 파일의 경로입니다. |
job.email_notifications (작업 이메일 알림)
Type: Map
작업 실행에 대한 이메일 알림 설정입니다.
| Key | Type | Description |
|---|---|---|
on_start |
Sequence | 실행이 시작될 때 알릴 전자 메일 주소 목록입니다. |
on_success |
Sequence | 실행이 성공하면 알릴 전자 메일 주소 목록입니다. |
on_failure |
Sequence | 실행이 실패할 때 알릴 전자 메일 주소 목록입니다. |
on_duration_warning_threshold_exceeded |
Sequence | 실행 기간이 경고 임계값을 초과할 때 알릴 전자 메일 주소 목록입니다. |
no_alert_for_skipped_runs |
Boolean | 건너뛴 실행에 대한 경고 전송을 건너뛸지 여부입니다. |
job.environments (작업 환경)
Type: Sequence
작업의 서버리스 작업에서 참조할 수 있는 작업 실행 환경 사양 목록입니다.
목록의 각 항목은 다음과 같습니다.JobEnvironment
| Key | Type | Description |
|---|---|---|
environment_key |
String | 환경의 키입니다. 작업 내에서 고유해야 합니다. |
spec |
Map | 서버리스 환경을 나타내는 엔터티입니다. job.environments.spec을 참조하세요. |
job.environments.spec
Type: Map
서버리스 환경을 나타내는 엔터티입니다.
| Key | Type | Description |
|---|---|---|
client |
String | Deprecated. 클라이언트 버전입니다. |
dependencies |
Sequence | 이 환경의 pip 버전에서 지원하는 pip 종속성 목록입니다. |
environment_version |
String | 필수 사항입니다. 환경에서 사용하는 환경 버전입니다. 각 버전에는 특정 Python 버전 및 Python 패키지 집합이 함께 제공됩니다. 버전은 정수로 구성된 문자열입니다. |
job.git 원본
Type: Map
작업 소스 코드에 대한 Git 리포지토리 구성입니다.
| Key | Type | Description |
|---|---|---|
git_branch |
String | 이 작업에서 체크아웃하여 사용할 브랜치 이름입니다. 이 필드는 git_tag 또는 git_commit와 함께 지정할 수 없습니다. |
git_commit |
String | 이 작업에서 체크 아웃하고 사용하도록 커밋합니다. 이 필드는 git_branch 또는 git_tag와 함께 지정할 수 없습니다. |
git_provider |
String | Git 리포지토리를 호스트하는 데 사용되는 서비스의 고유 식별자입니다. 값은 대/소문자를 구분하지 않습니다. 유효한 값은 gitHub,, bitbucketCloudgitLab, azureDevOpsServicesgitHubEnterprise, bitbucketServer. gitLabEnterpriseEdition |
git_snapshot |
Map | 작업이 실행되었을 때 원격 리포지토리의 읽기 전용 상태입니다. 이 필드는 작업 실행에만 포함됩니다. git_snapshot 참조하세요. |
git_tag |
String | 이 작업에서 체크 아웃하고 사용할 태그의 이름입니다. 이 필드는 git_branch 또는 git_commit와 함께 지정할 수 없습니다. |
git_url |
String | 이 작업에서 복제할 리포지토리의 URL입니다. |
작업.깃_소스.깃_스냅샷
Type: Map
읽기 전용 커밋 정보 스냅샷입니다.
| Key | Type | Description |
|---|---|---|
used_commit |
String | 실행을 실행하는 데 사용된 커밋입니다.
git_branch가 지정된 경우, 이는 실행 시 분기의 HEAD를 가리킵니다. git_tag가 지정된 경우, 이는 태그가 가리키는 커밋을 가리킵니다. |
작업.건강
Type: Map
작업에 대한 상태 감시 구성을 설정합니다.
| Key | Type | Description |
|---|---|---|
rules |
Sequence | 작업 건강 규칙 목록입니다. 각 규칙에는 metric와 op (연산자) 및 value가 포함됩니다.
job.health.rules를 참조하세요. |
job.health.rules
Type: Sequence
작업 건강 규칙 목록입니다.
목록의 각 항목은 다음과 같습니다.JobHealthRule
| Key | Type | Description |
|---|---|---|
metric |
String | 특정 상태 규칙에 대해 평가되는 상태 메트릭을 지정합니다.
|
op |
String | 상태 메트릭 값을 지정된 임계값과 비교하는 데 사용되는 연산자를 지정합니다. |
value |
Integer | 상태 규칙을 충족하기 위해 상태 메트릭이 준수해야 하는 임계값을 지정합니다. |
작업.작업_클러스터
Type: Sequence
이 작업의 태스크에서 공유하고 다시 사용할 수 있는 작업 클러스터 사양 목록입니다. 라이브러리는 공유 작업 클러스터에서 선언할 수 없습니다. 작업 설정에서 종속 라이브러리를 선언해야 합니다.
목록의 각 항목은 다음과 같습니다.JobCluster
작업.알림_설정
Type: Map
작업에 대한 모든 알림에 적용되는 알림 설정입니다.
| Key | Type | Description |
|---|---|---|
no_alert_for_skipped_runs |
Boolean | 건너뛴 실행에 대한 경고 전송을 건너뛸지 여부입니다. |
no_alert_for_canceled_runs |
Boolean | 취소된 실행에 대한 경고 전송을 건너뛸지 여부입니다. |
job.queue
Type: Map
작업에 대한 큐 설정입니다.
| Key | Type | Description |
|---|---|---|
enabled |
Boolean | 작업에 대한 큐를 사용하도록 설정할지 여부입니다. |
작업.일정
Type: Map
주기적인 작업 실행에 대한 구성을 예약합니다.
| Key | Type | Description |
|---|---|---|
quartz_cron_expression |
String | 작업이 실행되는 시기를 지정하는 Quartz 구문을 사용하는 Cron 식입니다. 예를 들어 0 0 9 * * ? 매일 오전 9:00 UTC에 작업을 실행합니다. |
timezone_id |
String | 일정의 표준 시간대입니다. 예를 들어 America/Los_Angeles 또는 UTC. |
pause_status |
String | 일정이 일시 중지되었는지 여부입니다. 유효한 값: PAUSED, . UNPAUSED |
작업.트리거
Type: Map
이벤트 기반 작업 실행에 대한 구성을 트리거합니다.
| Key | Type | Description |
|---|---|---|
file_arrival |
Map | 파일 도착에 따라 트리거합니다. file_arrival 참조하세요. |
table |
Map | 테이블을 기반으로 트리거합니다. 표를 참조하세요. |
table_update |
Map | 테이블 업데이트를 기반으로 트리거합니다. table_update 참조하세요. |
periodic |
Map | 주기적 트리거입니다. 주기적 참조 |
job.trigger.file_arrival
Type: Map
파일 도착에 따라 구성을 트리거합니다.
| Key | Type | Description |
|---|---|---|
url |
String | 새 파일을 모니터링할 파일 경로입니다. |
min_time_between_triggers_seconds |
Integer | 트리거 이벤트 사이의 최소 시간(초)입니다. |
wait_after_last_change_seconds |
Integer | 트리거하기 전에 마지막 파일이 변경된 후 시간(초)을 기다립니다. |
작업.트리거.테이블
Type: Map
테이블을 기반으로 구성을 트리거합니다.
| Key | Type | Description |
|---|---|---|
table_names |
Sequence | 모니터링할 테이블 이름 목록입니다. |
condition |
String | 작업을 트리거하기 위해 충족해야 하는 SQL 조건입니다. |
job.trigger.테이블_업데이트
Type: Map
테이블 업데이트를 기반으로 구성을 트리거합니다.
| Key | Type | Description |
|---|---|---|
table_names |
Sequence | 업데이트를 모니터링할 테이블 이름 목록입니다. |
condition |
String | 작업을 트리거하기 위해 충족해야 하는 SQL 조건입니다. |
wait_after_last_change_seconds |
Integer | 트리거하기 전에 마지막 테이블 업데이트 후 시간(초)을 기다립니다. |
작업.트리거.주기적
Type: Map
주기적 트리거 구성
| Key | Type | Description |
|---|---|---|
interval |
Integer | 주기적 트리거의 간격 값입니다. |
unit |
String | 간격의 시간 단위입니다. 유효한 값: SECONDS, MINUTES, HOURSDAYS, WEEKS. |
job.webhook_notifications (작업 웹훅 알림)
Type: Map
작업 실행에 대한 웹후크 알림 설정입니다.
| Key | Type | Description |
|---|---|---|
on_start |
Sequence | 실행이 시작될 때 알릴 웹후크 알림 ID 목록입니다. |
on_success |
Sequence | 실행이 성공하면 알릴 웹후크 알림 ID 목록입니다. |
on_failure |
Sequence | 실행이 실패할 때 알릴 웹후크 알림 ID 목록입니다. |
on_duration_warning_threshold_exceeded |
Sequence | 실행 기간이 경고 임계값을 초과할 때 알릴 웹후크 알림 ID 목록입니다. |
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 | 서비스 엔드포인트에 연결되고 청구 로그에 자동으로 전파될 태그입니다. |
model_serving_endpoint.ai_gateway
Type: Map
서비스 엔드포인트에 대한 AI 게이트웨이 구성입니다.
| Key | Type | Description |
|---|---|---|
guardrails |
Map | 가드레일 구성. 가드레일을 참조하세요. |
inference_table_config |
Map | Unity 카탈로그 테이블에 대한 유추 로깅을 위한 구성입니다. inference_table_config 참조하세요. |
rate_limits |
Sequence | 속도 제한 구성. |
usage_tracking_config |
Map | 사용량 추적을 위한 구성입니다. usage_tracking_config 참조하세요. |
모델_서빙_엔드포인트.ai_게이트웨이.가드레일
Type: Map
AI 게이트웨이 가드레일 구성입니다.
| Key | Type | Description |
|---|---|---|
input |
Map | 와 같은 safetypii필드가 있는 입력 가드레일 구성 |
output |
Map | 와 같은 safetypii필드가 있는 출력 가드레일 구성 |
invalid_keywords |
Sequence | 차단할 키워드 목록입니다. |
모델_서비스_엔드포인트.ai_게이트웨이.추론_테이블_구성
Type: Map
Unity 카탈로그 테이블에 대한 유추 로깅을 위한 구성입니다.
| Key | Type | Description |
|---|---|---|
catalog_name |
String | Unity 카탈로그의 카탈로그 이름입니다. |
schema_name |
String | Unity 카탈로그의 스키마 이름입니다. |
table_name_prefix |
String | 유추 테이블 이름의 접두사입니다. |
enabled |
Boolean | 유추 테이블 로깅을 사용할 수 있는지 여부입니다. |
모델_서빙_엔드포인트.인공지능_게이트웨이.사용_추적_구성
Type: Map
사용을 추적하기 위한 AI 게이트웨이 구성입니다.
| Key | Type | Description |
|---|---|---|
enabled |
Boolean | 사용량 추적을 사용할 수 있는지 여부입니다. |
model_serving_endpoint.config
Type: Map
서비스 엔드포인트의 핵심 구성입니다.
| Key | Type | Description |
|---|---|---|
served_entities |
Sequence | 서비스할 엔드포인트의 제공된 엔터티 목록입니다. 제공된 각 엔터티에는 entity_name, entity_version, workload_size, scale_to_zero_enabled, workload_type, environment_vars와 같은 필드가 포함됩니다. |
served_models |
Sequence | (사용되지 않음: 대신 사용 served_entities ) 서비스할 엔드포인트에 대해 제공된 모델 목록입니다. |
traffic_config |
Map | 서비스 엔드포인트에 대한 호출을 라우팅하는 방법을 정의하는 트래픽 구성입니다. traffic_config 참조하세요. |
auto_capture_config |
Map | Unity 카탈로그에 대한 요청 및 응답을 자동으로 기록하는 유추 테이블에 대한 구성입니다. auto_capture_config 참조하세요. |
모델_서비스_엔드포인트.config.트래픽_구성
Type: Map
서비스 엔드포인트에 대한 호출을 라우팅하는 방법을 정의하는 트래픽 구성입니다.
| Key | Type | Description |
|---|---|---|
routes |
Sequence | 트래픽 분포에 대한 경로 목록입니다. 각 경로에는 served_model_name 및 traffic_percentage가 포함되어 있습니다. |
model_serving_endpoint.config.auto_capture_config
Type: Map
Unity 카탈로그에 대한 요청 및 응답을 자동으로 기록하는 유추 테이블에 대한 구성입니다.
| Key | Type | Description |
|---|---|---|
catalog_name |
String | Unity 카탈로그의 카탈로그 이름입니다. |
schema_name |
String | Unity 카탈로그의 스키마 이름입니다. |
table_name_prefix |
String | 유추 테이블 이름의 접두사입니다. |
enabled |
Boolean | 유추 테이블 로깅을 사용할 수 있는지 여부입니다. |
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
파이프라인은 Databricks 자산 번들에 대한 Python에서 지원됩니다. databricks.bundles.pipelines를 참조하세요.
파이프라인 리소스를 사용하면 파이프라인을 만들 수 있습니다. 파이프라인에 대한 자세한 내용은 Lakeflow Spark 선언적 파이프라인을 참조하세요. Databricks 자산 번들 템플릿을 사용하여 파이프라인을 만드는 자습서는 Databricks 자산 번들을 사용하여 Lakeflow Spark 선언적 파이프라인 개발을 참조하세요.
pipelines:
<pipeline-name>:
<pipeline-field-name>: <pipeline-field-value>
| Key | Type | Description |
|---|---|---|
allow_duplicate_names |
Boolean | false이면 이름이 다른 파이프라인의 이름과 충돌하는 경우 배포가 실패합니다. |
budget_policy_id |
String | 이 파이프라인의 예산 정책입니다. |
catalog |
String | 이 파이프라인에서 데이터를 게시하기 위한 Unity 카탈로그의 일환인 카탈로그입니다. 지정된 경우, 이 파이프라인의 테이블은 target 내부의 target 스키마에 게시됩니다(예를 들어, catalog.catalog.target). 지정하지 않으면 target Unity 카탈로그에 데이터가 게시되지 않습니다. |
channel |
String | 사용할 Lakeflow Spark 선언적 파이프라인 버전을 지정하는 Lakeflow Spark 선언적 파이프라인 릴리스 채널입니다. |
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 | 이 배포에 필요한 라이브러리 또는 코드 목록입니다. pipeline.libraries를 참조하세요. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
name |
String | 이 파이프라인의 친숙한 이름입니다. |
notifications |
Sequence | 이 파이프라인에 대한 알림 설정입니다. |
permissions |
Sequence | 파이프라인의 권한 사용 권한을 참조 하세요. |
photon |
Boolean | 이 파이프라인에 Photon을 사용할 수 있는지 여부입니다. |
root_path |
String | 이 파이프라인의 루트 경로입니다. Databricks 사용자 인터페이스에서 파이프라인을 편집할 때 루트 디렉터리로 사용되며 파이프라인 실행 중에 Python 원본을 실행할 때 sys.path에 추가됩니다. |
run_as |
Map | 파이프라인이 실행되는 ID입니다. 지정하지 않으면 파이프라인이 파이프라인을 만든 사용자로 실행됩니다. 만 user_name 또는 service_principal_name 지정할 수 있습니다. 둘 다 지정하면 오류가 발생됩니다.
run_as 참조하세요. |
schema |
String | 테이블을 읽거나 게시하는 기본 스키마(데이터베이스)입니다. |
serverless |
Boolean | 이 파이프라인에 대해 서버리스 컴퓨팅을 사용할 수 있는지 여부입니다. |
storage |
String | 검사점 및 테이블을 저장하기 위한 DBFS 루트 디렉터리입니다. |
tags |
Map | 파이프라인과 연결된 태그의 맵입니다. 클러스터에 클러스터 태그로 전달되므로 동일한 제한 사항이 적용됩니다. 파이프라인에 최대 25개의 태그를 추가할 수 있습니다. |
target |
String | 이 파이프라인의 테이블을 추가할 대상 스키마(데이터베이스)입니다. 정확히 하나 schema 또는 target 지정해야 합니다. Unity 카탈로그 catalog에 게시하려면, catalog도 지정하십시오. 이 레거시 필드는 schema 필드가 파이프라인 생성에 더 적합하여 사용이 중지되었습니다. |
파이프라인.배포
Type: Map
파이프라인에 대한 배포 유형 구성입니다.
| Key | Type | Description |
|---|---|---|
kind |
String | 배포의 종류 예: BUNDLE. |
metadata_file_path |
String | 배포에 대한 메타데이터 파일의 경로입니다. |
파이프라인 환경
Type: Map
서버리스 컴퓨팅에 종속성을 설치하기 위한 환경 사양입니다.
| Key | Type | Description |
|---|---|---|
dependencies |
Sequence | 이 환경의 pip 버전에서 지원하는 pip 종속성 목록입니다. 각 종속성은 pip 요구 사항 파일 줄입니다. |
파이프라인.이벤트_로그
Type: Map
파이프라인에 대한 이벤트 로그 구성입니다.
| Key | Type | Description |
|---|---|---|
catalog |
String | 이벤트 로그가 게시되는 Unity 카탈로그입니다. |
name |
String | 이벤트 로그가 Unity 카탈로그에 게시되는 이름입니다. |
schema |
String | 이벤트 로그가 게시되는 Unity 카탈로그 스키마입니다. |
파이프라인.필터들
Type: Map
배포된 그래프에 포함할 파이프라인 패키지를 결정하는 필터입니다.
| Key | Type | Description |
|---|---|---|
include |
Sequence | 포함할 패키지 이름 목록입니다. |
exclude |
Sequence | 제외할 패키지 이름 목록입니다. |
pipeline.ingestion_definition
Type: Map
관리되는 수집 파이프라인에 대한 구성입니다. 이러한 설정은 libraries, schema, target 또는 catalog 설정과 함께 사용할 수 없습니다.
| Key | Type | Description |
|---|---|---|
connection_name |
String | 데이터 수집에 사용할 연결의 이름입니다. |
ingestion_gateway_id |
String | 수집 게이트웨이의 ID입니다. |
objects |
Sequence | 필수 사항입니다. 복제할 테이블과 복제된 테이블의 대상을 지정하는 설정입니다. 각 개체는 SchemaSpec, TableSpec 또는 ReportSpec일 수 있습니다. |
source_configuration |
Map | 카탈로그 수준 원본 구성 매개 변수입니다. source_configuration 참조하세요. |
table_configuration |
Map | 수집 테이블의 설정입니다. table_configuration 참조하세요. |
SchemaSpec
Type: Map
스키마에서 모든 테이블을 수집하기 위한 스키마 개체 사양입니다.
| Key | Type | Description |
|---|---|---|
source_schema |
String | 데이터를 수집할 원본 스키마의 이름입니다. |
destination_catalog |
String | Unity 카탈로그의 대상 카탈로그 이름입니다. |
destination_schema |
String | Unity 카탈로그의 대상 스키마 이름입니다. |
table_configuration |
Map | 이 스키마의 모든 테이블에 적용할 구성입니다. pipeline.ingestion_definition.table_configuration을 참조하세요. |
TableSpec
Type: Map
특정 테이블을 가져오기 위한 테이블 오브젝트 사양입니다.
| Key | Type | Description |
|---|---|---|
source_schema |
String | 테이블을 포함하는 원본 스키마의 이름입니다. |
source_table |
String | 수집할 원본 테이블의 이름입니다. |
destination_catalog |
String | Unity 카탈로그의 대상 카탈로그 이름입니다. |
destination_schema |
String | Unity 카탈로그의 대상 스키마 이름입니다. |
destination_table |
String | Unity 카탈로그의 대상 테이블 이름입니다. |
table_configuration |
Map | 이 특정 테이블에 대한 구성입니다. pipeline.ingestion_definition.table_configuration을 참조하세요. |
보고서 사양
Type: Map
분석 보고서를 수집하여 처리하기 위한 보고서 객체 사양입니다.
| Key | Type | Description |
|---|---|---|
source_url |
String | 원본 보고서의 URL입니다. |
source_report |
String | 원본 보고서의 이름 또는 식별자입니다. |
destination_catalog |
String | Unity 카탈로그의 대상 카탈로그 이름입니다. |
destination_schema |
String | Unity 카탈로그의 대상 스키마 이름입니다. |
destination_table |
String | 보고서 데이터의 대상 테이블 이름입니다. |
table_configuration |
Map | 보고서 테이블에 대한 구성입니다. pipeline.ingestion_definition.table_configuration을 참조하세요. |
파이프라인.ingestion_definition.source_configuration
Type: Map
원본에 대한 구성입니다.
| Key | Type | Description |
|---|---|---|
catalog |
Map | 카탈로그 수준 원본 구성 매개 변수입니다. 카탈로그를 참조 하세요. |
pipeline.ingestion_definition.source_configuration.catalog
Type: Map
카탈로그 수준 원본 구성 매개 변수
| Key | Type | Description |
|---|---|---|
postgres |
Map | Postgres 관련 카탈로그 수준 구성 매개 변수입니다. 논리적 복제에 사용할 Postgres 슬롯 구성을 나타내는 slot_config 및 Map과 연결된 하나의 키를 포함합니다. |
source_catalog |
String | 원본 카탈로그 이름입니다. |
파이프라인.수집_정의.테이블_구성
Type: Map
수집 테이블에 대한 구성 옵션입니다.
| Key | Type | Description |
|---|---|---|
exclude_columns |
Sequence | 수집 시 제외할 열 이름의 목록입니다. 명시하지 않으면 include_columns가 수집할 열을 완전히 제어합니다. 지정하면 이후 열을 포함한 다른 모든 열이 수집을 위해 자동으로 포함됩니다. 이 필드는 include_columns와 상호 배타적입니다. |
include_columns |
Sequence | 포함할 열 이름의 목록입니다. 명시하지 않으면 exclude_columns에 있는 열을 제외한 모든 열이 포함됩니다. 이후 열은 자동으로 포함됩니다. 지정하면 향후 다른 모든 열은 데이터 처리에서 자동으로 제외됩니다. 이 필드는 exclude_columns와 상호 배타적입니다. |
primary_keys |
Sequence | 테이블의 기본 키로 사용할 열 이름 목록입니다. |
sequence_by |
Sequence | 원본 데이터에서 이벤트의 논리적 순서를 지정하는 열 이름입니다. Spark 선언적 파이프라인은 이 시퀀스를 사용하여 순서가 잘못 도착하는 변경 이벤트를 처리합니다. |
파이프라인.라이브러리
Type: Sequence
이 파이프라인에 필요한 라이브러리 또는 코드 목록을 정의합니다.
목록의 각 항목은 정의입니다.
| Key | Type | Description |
|---|---|---|
file |
Map | 파이프라인을 정의하고 Databricks Repos에 저장되는 파일의 경로입니다. pipeline.libraries.file을 참조하세요. |
glob |
Map | 소스 코드를 포함할 통합 필드입니다. 각 항목은 전자 필기장 경로, 파일 경로 또는 끝나는 폴더 경로일 수 있습니다 /**. 이 필드는 notebook 또는 file와 함께 사용할 수 없습니다.
pipeline.libraries.glob을 참조하세요. |
notebook |
Map | 파이프라인을 정의하고 Databricks 작업 영역에 저장되는 Notebook의 경로입니다. pipeline.libraries.notebook을 참조하세요. |
whl |
String | 이 필드는 더 이상 사용되지 않습니다. |
pipeline.libraries.file
Type: Map
파이프라인을 정의하고 Databricks Repos에 저장되는 파일의 경로입니다.
| Key | Type | Description |
|---|---|---|
path |
String | 소스 코드의 절대 경로입니다. |
파이프라인.라이브러리.글로브
Type: Map
소스 코드를 포함할 통합 필드입니다. 각 항목은 전자 필기장 경로, 파일 경로 또는 끝나는 폴더 경로일 수 있습니다 /**. 이 필드는 notebook 또는 file와 함께 사용할 수 없습니다.
| Key | Type | Description |
|---|---|---|
include |
String | 파이프라인에 포함할 소스 코드 |
파이프라인.라이브러리.노트북
Type: Map
파이프라인을 정의하고 Databricks 작업 영역에 저장되는 Notebook의 경로입니다.
| Key | Type | Description |
|---|---|---|
path |
String | 소스 코드의 절대 경로입니다. |
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 카탈로그 테이블 모니터를 정의할 수 있습니다. 모니터에 대한 자세한 내용은 데이터 프로파일링을 참조하세요.
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 참조하세요. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
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 | 대시보드 만들기를 위해 웨어하우스를 지정하는 선택적 인수입니다. 지정하지 않으면 첫 번째 실행 웨어하우스가 사용됩니다. |
품질_모니터.사용자_지정_메트릭
Type: Sequence
사용자 지정 메트릭 정의 목록입니다.
목록의 각 항목은 다음과 같습니다.CustomMetric
| Key | Type | Description |
|---|---|---|
definition |
String | 메트릭을 계산하는 방법을 지정하는 SQL 식의 Jinja 템플릿입니다. 메트릭 정의 만들기를 참조하세요. |
input_columns |
Sequence | 메트릭을 계산해야 하는 입력 테이블의 열 이름 목록입니다. 메트릭에 여러 열의 정보가 필요함을 나타내는 데 사용할 :table 수 있습니다. |
name |
String | 출력 테이블의 메트릭 이름입니다. |
output_data_type |
String | 사용자 지정 메트릭의 출력 형식입니다. |
type |
String | , CUSTOM_METRIC_TYPE_AGGREGATE또는 CUSTOM_METRIC_TYPE_DERIVED. 중 CUSTOM_METRIC_TYPE_DRIFT하나만 사용할 수 있습니다.
CUSTOM_METRIC_TYPE_AGGREGATE 및 CUSTOM_METRIC_TYPE_DERIVED 메트릭은 단일 테이블에서 계산되는 반면, CUSTOM_METRIC_TYPE_DRIFT는 기준 및 입력 테이블 간 또는 두 개의 연속된 시간 창 간의 메트릭을 비교합니다.
|
품질_모니터.데이터_분류_구성
Type: Map
데이터 분류를 위한 구성입니다.
| Key | Type | Description |
|---|---|---|
enabled |
Boolean | 데이터 분류를 사용할 수 있는지 여부입니다. |
품질_모니터.추론_로그
Type: Map
유추 로그를 모니터링하기 위한 구성입니다.
| Key | Type | Description |
|---|---|---|
granularities |
Sequence | 유추 로그를 집계하기 위한 시간 세분성(예: ["1 day"])입니다. |
model_id_col |
String | 모델 ID를 포함하는 열의 이름입니다. |
prediction_col |
String | 예측 데이터를 포함하는 열의 이름입니다. |
timestamp_col |
String | 타임스탬프를 포함하는 열의 이름입니다. |
problem_type |
String | ML 문제의 유형입니다. 유효한 값에는 PROBLEM_TYPE_CLASSIFICATION, PROBLEM_TYPE_REGRESSION이(가) 포함됩니다. |
label_col |
String | 레이블(실제값)이 포함된 열의 이름입니다. |
품질_모니터.알림
Type: Map
모니터에 대한 알림 설정입니다.
| Key | Type | Description |
|---|---|---|
on_failure |
Map | 모니터가 실패할 때 알림 설정입니다. on_failure 참조하십시오. |
on_new_classification_tag_detected |
Map | 새 분류 태그가 검색될 때 알림 설정입니다. on_new_classification_tag_detected을 참조하세요. |
quality_monitor.notifications.on_failure (품질 모니터 알림 실패 시)
Type: Map
모니터가 실패할 때 알림 설정입니다.
| Key | Type | Description |
|---|---|---|
email_addresses |
Sequence | 모니터 실패 시 알릴 전자 메일 주소 목록입니다. |
quality_monitor.notifications.새로운 분류 태그가 감지되었습니다.
Type: Map
새 분류 태그가 검색될 때 알림 설정입니다.
| Key | Type | Description |
|---|---|---|
email_addresses |
Sequence | 새 분류 태그가 검색될 때 알릴 전자 메일 주소 목록입니다. |
품질_모니터.일정
Type: Map
메트릭 테이블을 자동으로 업데이트하고 새로 고치는 일정을 예약합니다.
| Key | Type | Description |
|---|---|---|
quartz_cron_expression |
String | Quartz 구문을 사용하는 Cron 식입니다. 예를 들어 0 0 8 * * ? 매일 오전 8:00에 실행됩니다. |
timezone_id |
String | 일정의 표준 시간대입니다(예: UTC, America/Los_Angeles). |
pause_status |
String | 일정이 일시 중지되었는지 여부입니다. 유효한 값: PAUSED, . UNPAUSED |
품질_모니터.스냅샷
Type: Map
스냅샷 테이블 모니터링을 위한 구성입니다.
품질_모니터.시계열
시계열 테이블을 모니터링하기 위한 구성입니다.
| Key | Type | Description |
|---|---|---|
granularities |
Sequence | 시계열 데이터를 집계하기 위한 시간 세분성입니다(예: ["30 minutes"]). |
timestamp_col |
String | 타임스탬프를 포함하는 열의 이름입니다. |
Examples
을 정의하는 전체 예제 번들은 quality_monitormlops_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 |
|---|---|---|
aliases |
Sequence | 등록된 모델과 연결된 별칭 목록입니다. registered_model.aliases를 참조하세요. |
browse_only |
Boolean | 요청에서 include_browse 사용하도록 설정된 경우 보안 주체가 BROWSE 권한을 통해 연결된 개체에 대한 메타데이터 검색으로 제한되는지 여부를 나타냅니다. |
catalog_name |
String | 스키마와 등록된 모델이 있는 카탈로그의 이름입니다. |
comment |
String | 등록된 모델에 첨부된 주석입니다. |
full_name |
String | 등록된 모델의 세 수준(정규화된) 이름 |
grants |
Sequence | 등록된 모델과 연관된 보조금입니다. 부여를 참조 하세요. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
name |
String | 등록된 모델의 이름입니다. |
schema_name |
String | 등록된 모델이 있는 스키마의 이름입니다. |
storage_location |
String | 모델 버전 데이터 파일이 저장되는 클라우드의 스토리지 위치입니다. |
등록된_모델.별칭
Type: Sequence
등록된 모델과 연결된 별칭 목록입니다.
목록의 각 항목은 Alias입니다.
| Key | Type | Description |
|---|---|---|
alias_name |
String | 별칭의 이름(예: 'champion' 또는 'latest_stable') |
catalog_name |
String | 모델 버전이 포함된 카탈로그의 이름입니다. |
id |
String | 별칭의 고유 식별자입니다. |
model_name |
String | 부모 스키마를 기준으로 한 모델 버전의 상위 등록 모델 이름입니다. |
schema_name |
String | 부모 카탈로그를 기준으로 모델 버전을 포함하는 스키마의 이름입니다. |
version_num |
Integer | 이 별칭이 가리키는 모델 버전의 정수 버전 번호입니다. |
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
스키마는 Databricks 자산 번들에 대한 Python에서 지원됩니다. databricks.bundles.schemas를 참조하세요.
스키마 리소스 유형을 사용하면 번들의 일부로 생성된 워크플로 및 파이프라인의 테이블 및 기타 자산에 대한 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 | 스키마와 연결된 권한 부여입니다. 부여를 참조 하세요. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
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인 경우입니다.
keyvault_metadata 참조하세요. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
name |
String | 사용자가 요청한 범위 이름입니다. 범위 이름은 고유합니다. |
permissions |
Sequence | 비밀 범위에 적용할 권한 설정입니다. 권한은 비밀 범위 ACL을 통해 관리됩니다. 사용 권한을 참조 하세요. |
비밀_범위.키보관함_메타데이터
Type: Map
Azure Key Vault 지원 비밀 범위에 대한 메타데이터입니다.
| Key | Type | Description |
|---|---|---|
resource_id |
String | Key Vault의 Azure 리소스 ID입니다. |
dns_name |
String | Azure Key Vault의 DNS 이름입니다. |
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 리포지토리를 참조하세요.
SQL 창고
Type: Map
SQL 웨어하우스 리소스를 사용하면 번들에 SQL 웨어하우스 를 정의할 수 있습니다. SQL 웨어하우스에 대한 자세한 내용은 Azure Databricks의 데이터 웨어하우징을 참조하세요.
sql_warehouses:
<sql-warehouse-name>:
<sql-warehouse-field-name>: <sql-warehouse-field-value>
| Key | Type | Description |
|---|---|---|
auto_stop_mins |
Integer | SQL 웨어하우스가 자동으로 중지되기 전에 유휴 상태여야 하는 시간(예: 실행 중인 쿼리 없음)의 시간(분)입니다. 유효한 값은 0으로, 자동 스탑이 없거나 10보다 크거나 같음입니다. 기본값은 120입니다. |
channel |
Map | 채널 세부 정보입니다. 채널 보기 |
cluster_size |
String | 이 웨어하우스에 할당된 클러스터의 크기입니다. Spark 클러스터의 크기를 늘리면 더 큰 쿼리를 실행할 수 있습니다. 동시 쿼리 수를 늘리려면 max_num_clusters 조정합니다. 지원되는 값은 cluster_size 참조하세요. |
creator_name |
String | 웨어하우스를 만든 사용자의 이름입니다. |
enable_photon |
Boolean | 웨어하우스에서 Photon 최적화 클러스터를 사용해야 하는지 여부입니다. 기본값은 false입니다. |
enable_serverless_compute |
Boolean | 웨어하우스에서 서버리스 컴퓨팅을 사용해야 하는지 여부입니다. |
instance_profile_arn |
String | Deprecated. 클러스터에 IAM 역할을 전달하는 데 사용되는 인스턴스 프로필 |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
max_num_clusters |
Integer | 자동 크기 조정기가 동시 쿼리를 처리하기 위해 만들 클러스터의 최대 수입니다. 값은 30보다 작거나 같아야 하며 30보다 크거나 같아야 합니다 min_num_clusters. 설정되지 않은 경우 자동으로 min_clusters를 기본값으로 설정합니다. |
min_num_clusters |
Integer | 이 SQL 웨어하우스에 대해 유지 관리될 사용 가능한 최소 클러스터 수입니다. 이렇게 하면 더 많은 수의 클러스터가 항상 실행되므로 새 쿼리의 콜드 시작 시간이 줄어들 수 있습니다. 이는 리소스 관리자에서 예약된 코어와 취소 가능한 코어와 비슷합니다. 값은 0보다 크고 min(max_num_clusters, 30)보다 작거나 같아야 합니다. 기본값은 1입니다. |
name |
String | 클러스터의 논리적 이름입니다. 이름은 조직 내에서 고유해야 하며 100자 미만이어야 합니다. |
permissions |
Sequence | 창고에 적용할 권한 설정입니다. 사용 권한을 참조 하세요. |
spot_instance_policy |
String | 스폿 인스턴스를 사용할지 여부입니다. 유효한 값은 POLICY_UNSPECIFIED, COST_OPTIMIZED. RELIABILITY_OPTIMIZED 기본값은 COST_OPTIMIZED입니다. |
tags |
Map | 이 SQL 웨어하우스와 연결된 모든 리소스(예: AWS 인스턴스 및 EBS 볼륨)에 태그가 지정되는 키-값 쌍 집합입니다. 태그 수는 45개 미만이어야 합니다. |
warehouse_type |
String | 웨어하우스 유형 PRO 또는 CLASSIC. 서버리스 컴퓨팅을 사용하려면 이 필드를 설정하여 PRO 필드를 enable_serverless_computetrue.로 설정합니다. |
sql_웨어하우스.채널
Type: Map
SQL 웨어하우스의 채널 구성입니다.
| Key | Type | Description |
|---|---|---|
name |
String | 채널의 이름입니다. 유효한 값에는 CHANNEL_NAME_CURRENT, . CHANNEL_NAME_PREVIEWCHANNEL_NAME_CUSTOM |
dbsql_version |
String | 사용자 지정 채널에 대한 DBSQL 버전입니다. |
Example
다음 예제에서는 SQL 웨어하우스를 정의합니다.
resources:
sql_warehouses:
my_sql_warehouse:
name: my_sql_warehouse
cluster_size: X-Large
enable_serverless_compute: true
max_num_clusters: 3
min_num_clusters: 1
auto_stop_mins: 60
warehouse_type: PRO
동기화된_데이터베이스_테이블
Type: Map
동기화된 데이터베이스 테이블 리소스를 사용하면 번들에서 Lakebase 데이터베이스 테이블을 정의할 수 있습니다.
동기화된 데이터베이스 테이블에 대한 자세한 내용은 데이터베이스 인스턴스란?을 참조하세요.
synced_database_tables:
<synced_database_table-name>:
<synced_database_table-field-name>: <synced_database_table-field-value>
| Key | Type | Description |
|---|---|---|
database_instance_name |
String | 대상 데이터베이스 인스턴스의 이름입니다. 표준 카탈로그에서 동기화된 데이터베이스 테이블을 만들 때 필요합니다. 등록된 카탈로그에서 동기화된 데이터베이스 테이블을 만들 때 선택 사항입니다. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
logical_database_name |
String | 이 테이블의 대상 Postgres 데이터베이스 개체(논리 데이터베이스)의 이름입니다. |
name |
String | 테이블의 전체 이름입니다.catalog.schema.table |
spec |
Map | 데이터베이스 테이블 사양입니다. 동기화된 데이터베이스 테이블 사양을 참조하세요. |
데이터베이스 동기화 테이블 파일(synced_database_table.spec)
Type: Map
데이터베이스 테이블 사양입니다.
| Key | Type | Description |
|---|---|---|
create_database_objects_if_missing |
Boolean | 동기화된 테이블의 논리 데이터베이스 및 스키마 리소스가 아직 없는 경우 만들 것인지 여부입니다. |
existing_pipeline_id |
String | 기존 파이프라인의 ID입니다. 이 설정이 설정되면 동기화된 테이블은 참조되는 기존 파이프라인으로 압축됩니다. 이렇게 하면 새 파이프라인을 만들지 않고 기존 컴퓨팅을 공유할 수 있습니다. 이 경우 scheduling_policy 이 동기화된 테이블은 기존 파이프라인의 예약 정책과 일치해야 합니다.
existing_pipeline_id와 new_pipeline_spec 중 최대 하나만 정의해야 합니다. |
new_pipeline_spec |
Map | 새 파이프라인에 대한 사양입니다.
new_pipeline_spec 참조하세요.
existing_pipeline_id와 new_pipeline_spec 중 최대 하나만 정의해야 합니다. |
primary_key_columns |
Sequence | 기본 키를 형성하는 열 이름 목록입니다. |
scheduling_policy |
String | 동기화를 위한 예약 정책입니다. 유효한 값에는 SNAPSHOT, CONTINUOUS이(가) 포함됩니다. |
source_table_full_name |
String | 원본 테이블의 전체 이름입니다 catalog.schema.table. |
timeseries_key |
String | 동일한 기본 키를 사용하여 행을 중복 해제하는 시계열 키입니다. |
synced_database_table.spec.new_pipeline_spec
Type: Map
동기화된 데이터베이스 테이블에서 사용하는 새 파이프라인에 대한 사양입니다.
| Key | Type | Description |
|---|---|---|
budget_policy_id |
String | 새로 만든 파이프라인에 설정할 예산 정책의 ID입니다. |
storage_catalog |
String | 검사점 및 이벤트 로그와 같은 중간 파일을 저장할 파이프라인의 카탈로그입니다. 사용자가 델타 테이블을 만들 수 있는 권한이 있는 표준 카탈로그여야 합니다. |
storage_schema |
String | 검사점 및 이벤트 로그와 같은 중간 파일을 저장할 파이프라인의 스키마입니다. 사용자가 델타 테이블을 만들 수 있는 권한이 있는 표준 카탈로그에 있어야 합니다. |
Examples
다음 예제에서는 해당 데이터베이스 카탈로그 내에서 동기화된 데이터베이스 테이블을 정의합니다.
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: my-instance
database_name: 'my_database'
name: my_catalog
create_database_if_not_exists: true
synced_database_tables:
my_synced_table:
name: ${resources.database_catalogs.my_catalog.name}.${resources.database_catalogs.my_catalog.database_name}.my_destination_table
database_instance_name: ${resources.database_catalogs.my_catalog.database_instance_name}
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'my_source_table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'
다음 예제에서는 표준 카탈로그 내에 동기화된 데이터베이스 테이블을 정의합니다.
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.public.synced_table'
# database_instance_name is required for synced tables created in standard catalogs.
database_instance_name: 'my-database-instance'
# logical_database_name is required for synced tables created in standard catalogs:
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'source_catalog.schema.table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'
이 예제에서는 동기화된 데이터베이스 테이블을 만들고 이에 대한 파이프라인 일정을 사용자 지정합니다. 이미 다음 항목이 있다고 가정합니다.
- 명명된 데이터베이스 인스턴스
my-database-instance - 명명된 표준 카탈로그
my_standard_catalog - 명명된 표준 카탈로그의 스키마
default -
source_delta.schema.customer라는 원본 델타 테이블과 기본 키c_custkey
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.default.my_synced_table'
database_instance_name: 'my-database-instance'
logical_database_name: 'test_db'
spec:
source_table_full_name: 'source_delta.schema.customer'
scheduling_policy: SNAPSHOT
primary_key_columns:
- c_custkey
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'source_delta'
storage_schema: 'schema'
jobs:
sync_pipeline_schedule_job:
name: sync_pipeline_schedule_job
description: 'Job to schedule synced database table pipeline.'
tasks:
- task_key: synced-table-pipeline
pipeline_task:
pipeline_id: ${resources.synced_database_tables.my_synced_table.data_synchronization_status.pipeline_id}
schedule:
quartz_cron_expression: '0 0 0 * * ?'
볼륨(Unity 카탈로그)
Type: Map
볼륨은 Databricks 자산 번들에 대한 Python에서 지원됩니다. databricks.bundles.volumes를 참조하세요.
볼륨 리소스 유형을 사용하여 번들의 일부로 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 | 볼륨과 연결된 권한 부여입니다. 부여를 참조 하세요. |
lifecycle |
Map | 리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다. 수명 주기를 참조하세요. |
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 리포지토리를 참고하세요.
일반적인 물건
허가
Type: Map
해당 보안 주체에 부여할 보안 주체 및 권한을 정의합니다. 권한 부여에 대한 자세한 내용은 권한 표시, 부여 및 해지참조하세요.
| Key | Type | Description |
|---|---|---|
principal |
String | 권한이 부여될 사용자의 이름입니다. 사용자, 그룹 또는 서비스 주체일 수 있습니다. |
privileges |
Sequence | 지정된 엔터티에 부여할 수 있는 권한. 유효한 값은 리소스 종류(예: SELECT, , MODIFY, CREATEUSAGE, READ_FILESWRITE_FILES, EXECUTEALL_PRIVILEGES)에 따라 달라집니다. |
Example
다음 예제에서는 권한 부여를 사용하여 Unity 카탈로그 스키마를 정의합니다.
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main
생명주기
Type: Map
리소스에 대한 수명 주기 설정을 포함합니다. 리소스가 배포되거나 제거될 때 리소스의 동작을 제어합니다.
| Key | Type | Description |
|---|---|---|
prevent_destroy |
Boolean | 리소스가 제거되지 않도록 하는 수명 주기 설정입니다. |