다음을 통해 공유


Databricks 자산 번들의 작업에 작업 추가

이 문서에서는 Databricks 자산 번들의 Azure Databricks 작업에 추가할 수 있는 다양한 유형의 작업의 예를 제공합니다. Databricks 자산 번들이란?을 참조하세요.

대부분의 작업 작업 유형에는 지원되는 설정 중 작업별 매개 변수가 있지만 작업에 전달되는 작업 매개 변수를 정의할 수도 있습니다. 작업 매개 변수에 대해 동적 값 참조가 지원되며, 작업 간에 작업 실행과 관련된 값을 전달할 수 있습니다. 작업 실행에 대한 Pass 컨텍스트를 참조 하세요.

참고 항목

작업 작업 설정을 재정의할 수 있습니다. Databricks 자산 번들의 작업 작업 설정 재정의를 참조 하세요.

Databricks CLI를 사용하여 기존 작업에 대한 리소스 구성을 신속하게 생성하려면 이 명령을 사용할 bundle generate job 수 있습니다. 번들 명령을 참조 하세요.

Notebook 작업

이 작업을 사용하여 Notebook을 실행합니다.

다음 예제에서는 작업에 Notebook 작업을 추가하고 작업 매개 변수를 my_job_run_id설정합니다. 배포할 Notebook의 경로는 이 작업이 선언된 구성 파일을 기준으로 합니다. 작업은 Azure Databricks 작업 영역의 배포된 위치에서 Notebook을 가져옵니다. 줄임표는 간결하게 생략된 콘텐츠를 나타냅니다.

# ...
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}}"
        # ...
# ...

이 작업에 tasks > notebook_task 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요. 작업 유형 옵션의 "Notebook"을 참조하고 Azure Databricks 작업 태스크에 매개 변수를 전달합니다.

Python 스크립트 작업

이 작업을 사용하여 Python 파일을 실행합니다.

다음 예제에서는 작업에 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
          # ...
# ...

이 작업에 tasks > spark_python_task 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요. 작업 유형 옵션에서 "Python 스크립트"를 참조하고 Azure Databricks 작업 태스크에 매개 변수를 전달합니다.

Python 휠 작업

이 작업을 사용하여 Python 휠 파일을 실행합니다.

다음 예제에서는 작업에 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
          # ...
# ...

이 작업에 tasks > python_wheel_task 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요. 또한 Databricks 자산 번들을 사용하여 Python 휠 파일 개발 및 작업 유형 옵션"Python 휠"을 참조하고 Azure Databricks 작업 작업에 매개 변수를 전달합니다.

JAR 작업

이 작업을 사용하여 JAR을 실행합니다. 로컬 JAR 라이브러리 또는 작업 영역, Unity 카탈로그 볼륨 또는 외부 클라우드 스토리지 위치에 있는 라이브러리를 참조할 수 있습니다. Databricks 자산 번들 라이브러리 종속성을 참조 하세요.

다음 예제에서는 작업에 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
          # ...
# ...

이 작업에 tasks > spark_jar_task 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요. 작업 유형 옵션의 "JAR"을 참조하고 Azure Databricks 작업 태스크에 매개 변수를 전달합니다.

SQL 파일 작업

이 작업을 사용하여 작업 영역 또는 원격 Git 리포지토리에 있는 SQL 파일을 실행합니다.

다음 예제에서는 작업에 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 웨어하우스의 ID를 가져오려면 SQL 웨어하우스의 설정 페이지를 연 다음 개요 탭의 이름 필드에 있는 웨어하우스 이름 뒤의 괄호 안에 있는 ID를 복사합니다.

이 작업에 tasks > sql_task > file 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요. 작업 유형 옵션에서 "SQL: 파일"도 참조하세요.

Delta Live Tables 파이프라인 작업

이 작업을 사용하여 Delta Live Tables 파이프라인을 실행합니다. 델타 라이브 테이블이란?을 참조하세요.

다음 예제에서는 작업에 Delta Live Tables 파이프라인 작업을 추가합니다. 이 Delta Live Tables 파이프라인 작업은 지정된 파이프라인을 실행합니다. 줄임표는 간결하게 생략된 콘텐츠를 나타냅니다.

# ...
resources:
  jobs:
    my-pipeline-job:
      name: my-pipeline-job
      # ...
      tasks:
        - task_key: my-pipeline-task
          pipeline_task:
            pipeline_id: 11111111-1111-1111-1111-111111111111
          # ...
# ...

작업 영역에서 파이프라인을 열고 파이프라인 설정 페이지의 파이프라인 세부 정보 탭에서 파이프라인 ID 값을 복사하여 파이프라인의 ID를 가져올 수 있습니다.

이 작업에 tasks > pipeline_task 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요. 작업 유형 옵션의 "델타 라이브 테이블 파이프라인"도 참조하세요.

dbt 작업

이 작업을 사용하여 하나 이상의 dbt 명령을 실행합니다. dbt Cloud에 대한 연결을 참조하세요.

다음 예제에서는 작업에 dbt 작업을 추가합니다. 이 dbt 작업은 지정된 SQL 웨어하우스를 사용하여 지정된 dbt 명령을 실행합니다. 줄임표는 간결하게 생략된 콘텐츠를 나타냅니다.

# ...
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"
          # ...
# ...

SQL 웨어하우스의 ID를 가져오려면 SQL 웨어하우스의 설정 페이지를 연 다음 개요 탭의 이름 필드에 있는 웨어하우스 이름 뒤의 괄호 안에 있는 ID를 복사합니다.

이 작업에 tasks > dbt_task 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요. 작업 유형 옵션에서 "dbt"도 참조하세요.

작업 작업 실행

이 작업을 사용하여 다른 작업을 실행합니다.

다음 예제에서는 첫 번째 작업을 실행하는 두 번째 작업의 실행 작업 태스크를 포함합니다.

# ...
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}
  # ...

이 예제에서는 대체사용하여 실행할 작업의 ID를 검색합니다. UI에서 작업 ID를 가져오려면 작업 영역에서 작업을 열고 작업 설정 페이지의 작업 세부 정보 탭에 있는 작업 ID 값에서 ID를 복사합니다.

이 작업에 tasks > run_job_task 대해 설정할 수 있는 추가 매핑은 YAML 형식으로 표현된 REST API 참조에서 POST /api/2.1/jobs/create에 정의된 대로 작업 만들기 작업의 요청 페이로드를 참조하세요.