이 페이지에서는 Databricks 자산 번들에서 작업 작업을 정의하는 방법에 대한 정보를 제공합니다. 작업 작업에 대한 자세한 내용은 Lakeflow 작업에서 태스크 구성 및 편집을 참조하세요.
중요합니다
작업 git_source 필드와 source로 설정된 태스크 GIT 필드는 로컬 상대 경로가 Git 리포지토리의 동일한 콘텐츠를 가리키지 않을 수 있기 때문에 번들에 적합하지 않습니다. 번들은 배포된 작업이 배포된 장소에서의 로컬 복사본과 동일한 파일을 가지고 있을 것으로 예상하고 있습니다.
대신 리포지토리를 로컬로 복제하고 이 리포지토리 내에서 번들 프로젝트를 설정하여 작업의 원본이 작업 영역이 되도록 합니다.
작업 구성
작업 정의의 tasks 키에서 작업 번들에 대한 작업을 정의합니다. 사용 가능한 작업 유형에 대한 작업 구성의 예는 작업 설정 섹션에 있습니다. 번들에서 작업을 정의하는 방법에 대한 자세한 내용은 작업을 참조하세요.
팁
Databricks CLI사용하여 기존 작업에 대한 리소스 구성을 신속하게 생성하려면 bundle generate job 명령을 사용할 수 있습니다.
번들 명령을 참조하세요.
작업 값을 설정하기 위해 대부분의 작업 작업 유형에는 작업별 매개 변수가 있지만 태스크에 전달되는 작업 매개 변수 를 정의할 수도 있습니다. 작업 매개 변수에 대해 동적 값 참조가 지원되며, 작업 간에 작업 실행과 관련된 값을 전달할 수 있습니다. 작업 유형별로 작업 값을 전달하는 방법에 대한 자세한 내용은 작업 유형별 세부 정보를 참조하세요.
대상 작업 영역에 대한 설정을 사용하여 일반 작업 작업 설정을 재정의할 수도 있습니다. 대상 설정으로 재정의를 참조하세요.
다음 예제 구성은 두 개의 Notebook 작업이 있는 작업을 정의하고 첫 번째 작업에서 두 번째 작업으로 작업 값을 전달합니다.
resources:
jobs:
pass_task_values_job:
name: pass_task_values_job
tasks:
# Output task
- task_key: output_value
notebook_task:
notebook_path: ../src/output_notebook.ipynb
# Input task
- task_key: input_value
depends_on:
- task_key: output_value
notebook_task:
notebook_path: ../src/input_notebook.ipynb
base_parameters:
received_message: '{{tasks.output_value.values.message}}'
output_notebook.ipynb는 message 키에 대한 작업 값을 설정하는 다음 코드를 포함합니다.
# Databricks notebook source
# This first task sets a simple output value.
message = "Hello from the first task"
# Set the message to be used by other tasks
dbutils.jobs.taskValues.set(key="message", value=message)
print(f"Produced message: {message}")
태스크 input_notebook.ipynb 의 구성에 설정된 매개 변수 received_message의 값을 검색합니다.
# This notebook receives the message as a parameter.
dbutils.widgets.text("received_message", "")
received_message = dbutils.widgets.get("received_message")
print(f"Received message: {received_message}")
작업 설정
이 섹션에는 각 작업 작업 유형에 대한 설정 및 예제가 포함되어 있습니다.
회의실 전자 필기장 정리 작업
클린룸 기록장 작업은 clean_rooms_notebook_task 필드가 있을 때 클린룸 기록장을 실행합니다. 클린룸에 대한 자세한 내용은 Azure Databricks Clean Rooms란?을 참조하세요.
다음 키는 클린룸 노트북 작업에 사용할 수 있습니다. 해당 REST API 개체 정의는 clean_rooms_notebook_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
clean_room_name |
String | 필수 사항입니다. 전자 필기장이 속한 클린룸입니다. |
etag |
String | 노트북 리소스의 신선도를 검증하기 위한 체크섬입니다. 클린룸 자산 가져오기 작업 호출로 가져올 수 있습니다. |
object |
Map | 클린룸 Notebook 작업에 사용할 기본 매개 변수입니다. |
notebook_name |
String | 필수 사항입니다. 실행 중인 Notebook의 이름입니다. |
조건 작업
이 condition_task을 사용하면 if/else 조건부 논리를 사용하여 업무에 작업을 추가할 수 있습니다. 태스크는 다른 작업의 실행을 제어하는 데 사용할 수 있는 조건을 평가합니다. 조건 태스크는 클러스터를 실행할 필요가 없으며 재시도 또는 알림을 지원하지 않습니다. if/else 조건 태스크에 대한 자세한 내용은 If/else 태스크를 사용하여 작업에 분기 논리 추가를 참조하세요.
조건 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 condition_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
left |
String | 필수 사항입니다. 조건의 왼쪽 피연산자입니다. 문자열 값이나 작업 상태 또는 동적 값 참조(예: {{job.repair_count}} 또는 {{tasks.task_key.values.output}}.)일 수 있습니다. |
op |
String | 필수 사항입니다. 비교에 사용할 연산자입니다. 유효한 값은 다음과 EQUAL_TONOT_EQUALGREATER_THANGREATER_THAN_OR_EQUALLESS_THAN같습니다. LESS_THAN_OR_EQUAL |
right |
String | 필수 사항입니다. 조건의 오른쪽 피연산자입니다. 문자열 값이나 작업 상태 또는 동적 값 참조일 수 있습니다. |
예시
다음 예제에는 작업 복구 수가 5보다 작은 경우에만 Notebook 작업이 실행되는 조건 태스크 및 Notebook 작업이 포함되어 있습니다.
resources:
jobs:
my-job:
name: my-job
tasks:
- task_key: condition_task
condition_task:
op: LESS_THAN
left: '{{job.repair_count}}'
right: '5'
- task_key: notebook_task
depends_on:
- task_key: condition_task
outcome: 'true'
notebook_task:
notebook_path: ../src/notebook.ipynb
대시보드 작업
이 작업을 사용하여 대시보드를 새로 고치고 구독자에게 스냅샷을 보냅니다. 번들의 대시보드에 대한 자세한 내용은 대시보드를 참조하세요.
대시보드 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 dashboard_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
dashboard_id |
String | 필수 사항입니다. 새로 고침할 대시보드의 식별자입니다. 대시보드가 이미 있어야 합니다. |
subscription |
Map | 대시보드 스냅샷을 보내기 위한 구독 구성입니다. 각 구독 개체는 대시보드 새로 고침이 완료된 후 스냅샷을 보낼 위치에 대한 대상 설정을 지정할 수 있습니다. 구독을 참조 하세요. |
warehouse_id |
String | 일정에 따라 대시보드를 실행할 웨어하우스 ID입니다. 지정하지 않으면 대시보드의 기본 웨어하우스가 사용됩니다. |
예시
다음 예제에서는 작업에 대시보드 작업을 추가합니다. 작업이 실행되면 지정된 ID가 있는 대시보드가 새로 고쳐집니다.
resources:
jobs:
my-dashboard-job:
name: my-dashboard-job
tasks:
- task_key: my-dashboard-task
dashboard_task:
dashboard_id: 11111111-1111-1111-1111-111111111111
dbt 태스크
이 태스크는 하나 이상의 dbt 명령을 실행합니다. dbt에 대한 자세한 내용은 dbt Cloud에 연결을 참조하세요.
다음 키는 dbt 작업에 사용할 수 있습니다. 해당 REST API 개체 정의는 dbt_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
catalog |
String | 사용할 카탈로그의 이름입니다.
warehouse_id가 지정된 경우에만 카탈로그 값을 지정할 수 있습니다. 이 필드에는 dbt-databricks >= 1.1.1이 필요합니다. |
commands |
순서 | 필수 사항입니다. 순서대로 실행할 dbt 명령 목록입니다. 각 명령은 전체 dbt 명령(예: , dbt deps, dbt seed, dbt rundbt test)이어야 합니다. 최대 10개의 명령을 제공할 수 있습니다. |
profiles_directory |
String | dbt profiles.yml 파일이 포함된 디렉터리의 경로입니다.
warehouse_id이 지정되지 않은 경우에만 지정할 수 있습니다.
warehouse_id가 지정되지 않고 이 폴더가 설정되지 않은 경우, 루트 디렉터리가 사용됩니다. |
project_directory |
String | dbt 프로젝트를 포함하는 디렉터리의 경로입니다. 지정하지 않으면 기본적으로 리포지토리 또는 작업 영역 디렉터리의 루트로 설정됩니다. Databricks 작업 영역에 저장된 프로젝트의 경우 경로는 절대 경로여야 하며 슬래시로 시작해야 합니다. 원격 리포지토리의 프로젝트의 경우 경로가 상대 경로여야 합니다. |
schema |
String | 기록할 스키마. 매개변수는 warehouse_id이(가) 제공될 때만 사용됩니다. 제공되지 않으면 기본 스키마가 사용됩니다. |
source |
String | dbt 프로젝트의 위치 형식입니다. 유효한 값은 WORKSPACE 및 GIT입니다. 로 WORKSPACE설정하면 프로젝트가 Databricks 작업 영역에서 검색됩니다. 로 GIT설정하면 프로젝트에 정의된 git_sourceGit 리포지토리에서 프로젝트가 검색됩니다. 비어 있는 경우, 태스크는 GIT이 정의되어 있으면 git_source를 사용하고, 그렇지 않으면 WORKSPACE를 사용합니다. |
warehouse_id |
String | dbt 명령을 실행하는 데 사용할 SQL 웨어하우스의 ID입니다. 지정하지 않으면 기본 웨어하우스가 사용됩니다. |
예시
다음 예제에서는 작업에 dbt 태스크를 추가합니다. 이 dbt 작업은 지정된 SQL 웨어하우스를 사용하여 지정된 dbt 명령을 실행합니다.
SQL 웨어하우스의 ID를 가져오려면 SQL 웨어하우스의 설정 페이지를 연 다음 개요 탭의 이름 필드에 있는 웨어하우스 이름 뒤의 괄호 안에 있는 ID를 복사합니다.
팁
Databricks 자산 번들에는 dbt 태스크를 사용하여 작업을 정의하는 dbt-sql 프로젝트 템플릿과 배포된 dbt 작업에 대한 dbt 프로필도 포함되어 있습니다. Databricks 자산 번들 템플릿에 대한 자세한 내용은 기본 번들 템플릿참조하세요.
resources:
jobs:
my-dbt-job:
name: my-dbt-job
tasks:
- task_key: my-dbt-task
dbt_task:
commands:
- 'dbt deps'
- 'dbt seed'
- 'dbt run'
project_directory: /Users/someone@example.com/Testing
warehouse_id: 1a111111a1111aa1
libraries:
- pypi:
package: 'dbt-databricks>=1.0.0,<2.0.0'
각 작업에 대해
for_each_task은/는 작업에 'for each' 루프를 포함하는 태스크를 추가할 수 있도록 지원합니다. 태스크는 제공된 모든 입력에 대해 중첩된 작업을 실행합니다.
for_each_task에 대한 자세한 내용은 을 참조하십시오. For each 작업을 사용하여에서 다른 작업을 반복 실행하십시오.
for_each_task 에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 for_each_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
concurrency |
정수 | 동시에 실행할 수 있는 최대 작업 반복 수입니다. 지정하지 않으면 모든 반복이 클러스터 및 작업 영역 제한에 따라 병렬로 실행될 수 있습니다. |
inputs |
String | 필수 사항입니다. 루프의 입력 데이터입니다. JSON 문자열 또는 배열 매개 변수에 대한 참조일 수 있습니다. 배열의 각 요소는 중첩된 작업의 반복 하나에 전달됩니다. |
task |
Map | 필수 사항입니다. 각 입력에 대해 실행할 중첩된 작업 정의입니다. 이 개체에는 task_key를 포함하여 작업 유형(예: notebook_task, python_wheel_task) 및 전체 작업 사양이 포함됩니다. |
예시
다음 예제에서는 작업에 for_each_task 추가하여 다른 작업의 값을 반복하고 처리합니다.
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: generate_countries_list
notebook_task:
notebook_path: ../src/generate_countries_list.ipnyb
- task_key: process_countries
depends_on:
- task_key: generate_countries_list
for_each_task:
inputs: '{{tasks.generate_countries_list.values.countries}}'
task:
task_key: process_countries_iteration
notebook_task:
notebook_path: ../src/process_countries_notebook.ipnyb
JAR 작업
당신은 이 태스크를 사용하여 JAR을 실행합니다. 로컬 JAR 라이브러리 또는 작업 영역, Unity 카탈로그 볼륨 또는 외부 클라우드 스토리지 위치에 있는 라이브러리를 참조할 수 있습니다. JAR 파일(Java 또는 Scala)을 참조하세요.
표준 액세스 모드에서 Unity 카탈로그 사용 클러스터에서 Scala JAR 파일을 컴파일하고 배포하는 방법에 대한 자세한 내용은 자습서: 서버리스 컴퓨팅에서 Scala 코드 실행을 참조하세요.
JAR 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 jar_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
jar_uri |
String | Deprecated. 실행할 JAR의 URI입니다. DBFS 및 클라우드 스토리지 경로가 지원됩니다. 이 필드는 더 이상 사용되지 않으며 사용해서는 안 됩니다. 대신 필드를 사용하여 libraries JAR 종속성을 지정합니다. |
main_class_name |
String | 필수 사항입니다. 실행될 main 메서드가 포함된 클래스의 전체 이름입니다. 이 클래스는 라이브러리로 제공된 JAR에 포함되어야 합니다. 코드는 Spark 컨텍스트를 가져오는 데 사용해야 SparkContext.getOrCreate 합니다. 그렇지 않으면 작업 실행이 실패합니다. |
parameters |
순서 | main 메서드에 전달된 매개 변수입니다. 작업 매개 변수 변수를 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다. |
예시
다음 예제에서는 작업에 JAR 태스크를 추가합니다. JAR의 경로는 볼륨 위치입니다.
resources:
jobs:
my-jar-job:
name: my-jar-job
tasks:
- task_key: my-jar-task
spark_jar_task:
main_class_name: org.example.com.Main
libraries:
- jar: /Volumes/main/default/my-volume/my-project-0.1.0-SNAPSHOT.jar
Notebook 작업
이 태스크를 사용하여 Notebook을 실행합니다. 작업에 대한 Notebook 태스크를 참조하세요.
Notebook 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 notebook_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
base_parameters |
Map | 이 작업의 각 실행에 사용할 기본 매개 변수입니다.
|
notebook_path |
String | 필수 사항입니다. 예를 들어 /Users/user.name@databricks.com/notebook_to_runDatabricks 작업 영역 또는 원격 리포지토리에 있는 Notebook의 경로입니다. Databricks 작업 영역에 저장된 Notebook의 경우 경로는 절대 경로여야 하며 슬래시로 시작해야 합니다. 원격 리포지토리에 저장된 Notebook의 경우 경로가 상대 경로여야 합니다. |
source |
String | 노트북의 위치 유형입니다. 유효한 값은 WORKSPACE 및 GIT입니다. 로 WORKSPACE설정하면 로컬 Databricks 작업 영역에서 Notebook이 검색됩니다.
GIT로 설정되면, 노트북은 git_source에 정의된 Git 저장소에서 검색됩니다. 값이 비어 있으면 GIT를 사용하고, git_source이 정의된 경우 아니면 WORKSPACE를 사용합니다. |
warehouse_id |
String | Notebook을 운영할 웨어하우스의 ID입니다. 클래식 SQL 웨어하우스는 지원되지 않습니다. 대신 서버리스 또는 PRO SQL 웨어하우스를 사용합니다. SQL 웨어하우스는 SQL 셀만 지원합니다. Notebook에 SQL이 아닌 셀이 포함된 경우 실행이 실패하므로 셀에서 Python(또는 기타)을 사용해야 하는 경우 서버리스를 사용합니다. |
예시
다음 예제에서는 작업에 Notebook 태스크를 추가하고 my_job_run_id이라는 작업 매개 변수를 설정합니다. 배포할 Notebook의 경로는 태스크가 선언된 구성 파일을 기준으로 합니다. 작업은 Azure Databricks 작업 영역의 배포된 위치에서 노트북을 가져옵니다.
resources:
jobs:
my-notebook-job:
name: my-notebook-job
tasks:
- task_key: my-notebook-task
notebook_task:
notebook_path: ./my-notebook.ipynb
parameters:
- name: my_job_run_id
default: '{{job.run_id}}'
파이프라인 작업
이 작업을 사용하여 파이프라인을 실행합니다. Lakeflow Spark 선언적 파이프라인을 참조하세요.
파이프라인 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 pipeline_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
full_refresh |
불리언 (Boolean) | true이면 파이프라인의 전체 새로 고침이 트리거되어 파이프라인의 모든 데이터 세트를 완전히 다시 계산합니다. false이거나 생략하면 증분 데이터만 처리됩니다. 자세한 내용은 파이프라인 새로 고침 의미 체계를 참조하세요. |
pipeline_id |
String | 필수 사항입니다. 실행할 파이프라인의 ID입니다. 파이프라인이 이미 있어야 합니다. |
예시
다음 예제에서는 파이프라인 작업을 작업에 추가합니다. 이 작업은 지정된 파이프라인을 실행합니다.
팁
작업 영역에서 파이프라인을 열고 파이프라인 설정 페이지의 파이프라인 세부 정보 탭에서 파이프라인 ID 값을 복사하여 파이프라인의 ID를 가져올 수 있습니다.
resources:
jobs:
my-pipeline-job:
name: my-pipeline-job
tasks:
- task_key: my-pipeline-task
pipeline_task:
pipeline_id: 11111111-1111-1111-1111-111111111111
Power BI 작업
중요합니다
Power BI 작업 유형은 공개 미리 보기로 제공됩니다.
이 작업을 사용하여 Power BI 의미 체계 모델(이전의 데이터 세트)의 새로 고침을 트리거합니다.
Power BI 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 power_bi_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
connection_resource_name |
String | 필수 사항입니다. Databricks에서 Power BI로 인증할 Unity 카탈로그 연결의 이름입니다. |
power_bi_model |
String | 필수 사항입니다. 업데이트할 Power BI 의미 체계 모델(데이터 세트)의 이름입니다. |
refresh_after_update |
불리언 (Boolean) | 업데이트가 완료된 후 Power BI 의미 체계 모델을 새로 고칠지 여부입니다. 기본값은 false입니다. |
tables |
순서 | Power BI로 내보낼 테이블 목록(각각 맵)입니다. 표를 참조하세요. |
warehouse_id |
String | Power BI 데이터 원본으로 사용할 SQL 웨어하우스의 ID입니다. |
예시
다음 예제에서는 연결을 지정하는 Power BI 작업, 업데이트할 Power BI 모델 및 내보낼 Databricks 테이블을 정의합니다.
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: power_bi_task
power_bi_task:
connection_resource_name: 'connection_name'
power_bi_model:
workspace_name: 'workspace_name'
model_name: 'model_name'
storage_mode: 'DIRECT_QUERY'
authentication_method: 'OAUTH'
overwrite_existing: false
refresh_after_update: false
tables:
- catalog: 'main'
schema: 'tpch'
name: 'customers'
storage_mode: 'DIRECT_QUERY'
warehouse_id: '1a111111a1111aa1'
Python 스크립트 태스크
이 태스크는 Python 파일을 실행할 수 있습니다.
Python 스크립트 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 python_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
parameters |
순서 | Python 파일에 전달할 매개 변수입니다. 작업 매개 변수 변수를 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다. |
python_file |
String | 필수 사항입니다. 예를 들어 /Users/someone@example.com/my-script.py실행할 Python 파일의 URI입니다. Databricks 작업 영역에 저장된 Python 파일의 경우 경로는 절대 경로여야 하며 /로 시작해야 합니다. 원격 리포지토리에 저장된 파일의 경우 경로가 상대 경로여야 합니다. 이 필드는 변수와 같은 동적 값 참조를 지원하지 않습니다. |
source |
String | Python 파일의 위치 형식입니다. 유효한 값은 WORKSPACE 및 GIT입니다. 로 WORKSPACE설정하면 로컬 Databricks 작업 영역에서 파일이 검색됩니다.
GIT으로 설정하면 git_source에 정의된 Git 리포지토리에서 파일이 검색됩니다. 값이 비어 있으면 GIT를 사용하고, git_source이 정의된 경우 아니면 WORKSPACE를 사용합니다. |
예시
다음 예제에서는 작업에 Python 스크립트 태스크를 추가합니다. 배포할 Python 파일의 경로는 태스크가 선언된 구성 파일을 기준으로 합니다. 태스크는 Azure Databricks 작업 영역의 배포된 위치에서 Python 파일을 가져옵니다.
resources:
jobs:
my-python-script-job:
name: my-python-script-job
tasks:
- task_key: my-python-script-task
spark_python_task:
python_file: ./my-script.py
파이썬 휠 작업
이 작업을 사용하여 Python 휠을 실행합니다. Databricks 자산 번들을 사용하여 Python 휠 파일 빌드를 참조하세요.
Python 휠 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 python_wheel_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
entry_point |
String | 필수 사항입니다. 실행할 명명된 진입점: 함수 또는 클래스입니다. 패키지의 메타데이터에 없는 경우 $packageName.$entryPoint()을/를 사용하여 패키지에서 직접 함수를 실행합니다. |
named_parameters |
Map | Python 휠 작업에 전달할 명명된 매개 변수로, 키워드 인수라고도 합니다. 명명된 매개 변수는 문자열 키와 문자열 값이 있는 키-값 쌍입니다.
parameters와 named_parameters를 둘 다 지정할 수 없습니다. 지정된 named_parameters 경우 parameters 진입점 함수에 키워드 인수로 전달됩니다. |
package_name |
String | 필수 사항입니다. 실행할 Python 패키지의 이름입니다. 모든 종속성을 환경에 설치해야 합니다. 패키지 종속성을 확인하거나 설치하지 않습니다. |
parameters |
순서 | Python 휠 작업에 전달할 매개 변수( 위치 인수라고도 함)입니다. 각 매개 변수는 문자열입니다.
named_parameters가 지정된 경우, 지정해서는 안 됩니다. |
예시
다음 예제에서는 작업에 Python 휠 태스크를 추가합니다. 배포할 Python 휠 파일의 경로는 태스크가 선언된 구성 파일을 기준으로 합니다. Databricks 자산 번들 라이브러리 종속성을 참조하세요.
resources:
jobs:
my-python-wheel-job:
name: my-python-wheel-job
tasks:
- task_key: my-python-wheel-task
python_wheel_task:
entry_point: run
package_name: my_package
libraries:
- whl: ./my_package/dist/my_package-*.whl
작업 실행
사용자는 이 태스크를 사용하여 다른 작업을 실행합니다.
다음 키는 실행 작업 작업에 사용할 수 있습니다. 해당 REST API 개체 정의는 run_job_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
job_id |
정수 | 필수 사항입니다. 실행할 작업의 ID입니다. 작업이 작업 영역에 이미 있어야 합니다. |
job_parameters |
Map | 실행 중인 작업에 전달할 작업 수준 매개 변수입니다. 이러한 매개 변수는 작업 내에서 액세스할 수 있습니다. |
pipeline_params |
Map | 파이프라인 작업에 대한 매개 변수입니다. 실행 중인 작업에 파이프라인 태스크가 포함된 경우에만 사용됩니다. 파이프라인의 전체 새로 고침을 트리거하려면 full_refresh을 포함할 수 있습니다. |
예시
다음 예제는 첫 번째 작업을 실행하는 역할을 하는 두 번째 작업의 태스크를 포함합니다.
이 예제에서는 대체를 사용하여 실행할 작업의 ID를 가져옵니다. UI에서 작업 ID를 가져오려면 작업 영역에서 작업을 열고 작업 설정 페이지의 작업 세부 정보 탭에 있는 작업 ID 값에서 ID를 복사합니다.
resources:
jobs:
my-first-job:
name: my-first-job
tasks:
- task_key: my-first-job-task
new_cluster:
spark_version: '13.3.x-scala2.12'
node_type_id: 'i3.xlarge'
num_workers: 2
notebook_task:
notebook_path: ./src/test.py
my_second_job:
name: my-second-job
tasks:
- task_key: my-second-job-task
run_job_task:
job_id: ${resources.jobs.my-first-job.id}
SQL 작업
이 작업을 사용하여 SQL 파일, 쿼리 또는 경고를 실행합니다.
SQL 작업에 사용할 수 있는 키는 다음과 같습니다. 해당 REST API 개체 정의는 sql_task 참조하세요.
| Key | 유형 | Description |
|---|---|---|
alert |
Map | SQL 경고를 실행하기 위한 구성입니다. 포함:
|
dashboard |
Map | SQL 대시보드를 새로 고치는 구성입니다. 포함:
|
file |
Map | SQL 파일을 실행하기 위한 구성입니다. 포함:
|
parameters |
Map | 이 작업의 각 실행에 사용할 매개 변수입니다. SQL 쿼리 및 파일은 이러한 매개 변수를 구문 {{parameter_key}}으로 참조하여 사용할 수 있습니다. 작업 매개 변수 변수를 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다. |
query |
Map | SQL 쿼리를 실행하기 위한 구성입니다. 포함:
|
warehouse_id |
String | 필수 사항입니다. SQL 작업을 실행하는 데 사용할 SQL 웨어하우스의 ID입니다. SQL 웨어하우스가 이미 있어야 합니다. |
예시
팁
SQL 웨어하우스의 ID를 가져오려면 SQL 웨어하우스의 설정 페이지를 연 다음 개요 탭의 이름 필드에 있는 웨어하우스 이름 뒤의 괄호 안에 있는 ID를 복사합니다.
다음 예제에서는 작업에 SQL 파일 태스크를 추가합니다. 이 SQL 파일 태스크로 지정된 SQL 웨어하우스를 사용하여 지정된 SQL 파일을 실행합니다.
resources:
jobs:
my-sql-file-job:
name: my-sql-file-job
tasks:
- task_key: my-sql-file-task
sql_task:
file:
path: /Users/someone@example.com/hello-world.sql
source: WORKSPACE
warehouse_id: 1a111111a1111aa1
다음 예제에서는 작업에 SQL 경고 작업을 추가합니다. 이 SQL 경고 태스크는 지정된 SQL 웨어하우스를 사용하여 지정된 SQL 경고를 새로 고칩니다.
resources:
jobs:
my-sql-file-job:
name: my-sql-alert-job
tasks:
- task_key: my-sql-alert-task
sql_task:
warehouse_id: 1a111111a1111aa1
alert:
alert_id: 11111111-1111-1111-1111-111111111111
다음 예제에서는 작업에 SQL 쿼리 작업을 추가합니다. 이 SQL 쿼리 작업은 지정된 SQL 웨어하우스를 사용하여 지정된 SQL 쿼리를 실행합니다.
resources:
jobs:
my-sql-query-job:
name: my-sql-query-job
tasks:
- task_key: my-sql-query-task
sql_task:
warehouse_id: 1a111111a1111aa1
query:
query_id: 11111111-1111-1111-1111-111111111111
기타 작업 설정
다음 작업 설정을 사용하면 모든 작업에 대한 동작을 구성할 수 있습니다. 해당 REST API 개체 정의는 작업을 참조하세요.