다음을 통해 공유


bundle 명령 그룹

참고 항목

이 정보는 Databricks CLI 버전 0.218.0 이상에 적용됩니다. Databricks CLI 버전을 찾으려면 다음을 실행 databricks -v합니다.

bundle Databricks CLI 내의 명령 그룹을 사용하면 Azure Databricks 작업, 델타 라이브 테이블 파이프라인 및 MLOps 스택과 같은 Azure Databricks 워크플로의 유효성을 프로그래밍 방식으로 유효성 검사, 배포 및 실행할 수 있습니다. Databricks 자산 번들이란?을 참조하세요.

Important

Databricks CLI를 설치하려면 Databricks CLI 설치 또는 업데이트를 참조하세요. Databricks CLI에 대한 인증을 구성하려면 Databricks CLI에 대한 인증을 참조하세요.

명령을 에 추가하여 실행 bundle 합니다 databricks bundle. 명령에 대한 도움말을 표시하려면 다음을 bundle 실행합니다 databricks bundle -h.

프로젝트 템플릿에서 번들 만들기

Python용 기본 Databricks 자산 번들 템플릿을 사용하여 Databricks 자산 번들을 만들려면 다음과 같이 명령을 실행 bundle init 한 다음 화면의 프롬프트에 응답합니다.

databricks bundle init

기본값이 아닌 Databricks 자산 번들 템플릿을 사용하여 Databricks 자산 번들을 만들려면 다음과 같이 명령을 실행 bundle init 합니다.

databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"

참고 항목:

번들 구성 스키마 표시

Databricks 자산 번들 구성 스키마를 bundle schema 표시하려면 다음과 같이 명령을 실행합니다.

databricks bundle schema

Databricks Asset Bundle 구성 스키마를 JSON 파일로 출력하려면 명령을 실행하고 bundle schema 출력을 JSON 파일로 리디렉션합니다. 예를 들어 다음과 같이 현재 디렉터리 내에서 명명된 bundle_config_schema.json 파일을 생성할 수 있습니다.

databricks bundle schema > bundle_config_schema.json

번들 유효성 검사

번들 구성 파일이 구문적으로 올바른지 확인하려면 다음과 같이 번들 프로젝트 루트에서 명령을 실행 bundle validate 합니다.

databricks bundle validate

기본적으로 이 명령은 번들 ID의 요약을 반환합니다.

Name: MyBundle
Target: dev
Workspace:
  Host: https://my-host.cloud.databricks.com
  User: someone@example.com
  Path: /Users/someone@example.com/.bundle/MyBundle/dev

Validation OK!

참고 항목

bundle validate 명령은 해당 개체의 스키마에서 찾을 수 없는 번들 구성 파일에 리소스 속성이 정의된 경우 경고를 출력합니다.

번들 트리를 작업 영역에 동기화

명령을 bundle sync 사용하여 로컬 파일 시스템 디렉터리 내의 번들 파일 변경 내용을 원격 Azure Databricks 작업 영역 내의 디렉터리로 단방향 동기화를 수행합니다.

참고 항목

bundle sync 명령은 원격 Azure Databricks 작업 영역 내의 디렉터리에서 로컬 파일 시스템 내의 디렉터리로 파일 변경 내용을 동기화할 수 없습니다.

databricks bundle sync 명령은 명령과 동일한 방식으로 databricks sync 작동하며 생산성 편의를 위해 제공됩니다. 명령 사용 정보는 동기화 명령 그룹을 참조 하세요.

번들 구성 파일 생성

bundle generate 명령을 사용하여 Databricks 작업 영역에 이미 있는 작업 또는 파이프라인에 대한 리소스 구성을 생성할 수 있습니다. 이 명령은 번들 프로젝트의 폴더에서 작업 또는 파이프라인에 resources 대한 파일을 생성 *.yml 하고 작업 또는 파이프라인 구성에서 참조되는 모든 Notebook도 다운로드합니다. 현재 Notebook 작업이 있는 작업만 이 명령에서 지원됩니다.

Important

bundle generate 명령은 리소스 구성을 자동으로 생성하기 위한 편의를 위해 제공됩니다. 그러나 이 구성이 번들에 포함되어 배포되면 새 리소스를 만들고 리소스에 처음 사용되지 않는 한 bundle deployment bind 기존 리소스를 업데이트하지 않습니다.

bundle generate 다음과 같이 명령을 실행합니다.

databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]

예를 들어 다음 명령은 아래 YAML을 포함하는 번들 프로젝트 폴더에 새 hello_job.yml 파일을 생성하고 프로젝트 폴더에 src 다운로드합니다simple_notebook.py.resources

databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
  jobs:
    6565621249:
      name: Hello Job
      format: MULTI_TASK
      tasks:
        - task_key: run_notebook
          existing_cluster_id: 0704-xxxxxx-yyyyyyy
          notebook_task:
            notebook_path: ./src/simple_notebook.py
            source: WORKSPACE
          run_if: ALL_SUCCESS
      max_concurrent_runs: 1

번들 리소스 바인딩

bundle deployment bind 명령을 사용하면 번들 정의 작업 및 파이프라인을 Azure Databricks 작업 영역의 기존 작업 및 파이프라인에 연결하여 Databricks 자산 번들에 의해 관리되도록 할 수 있습니다. 리소스를 바인딩하는 경우 작업 영역의 기존 Azure Databricks 리소스는 다음 bundle deploy번들 다음에 바인딩되는 번들에 정의된 구성에 따라 업데이트됩니다.

바인딩을 실행하기 전에 번들 작업 영역을 확인하는 것이 좋습니다.

databricks bundle deployment bind [resource-key] [resource-id]

예를 들어 다음 명령은 리소스 hello_job 를 작업 영역의 원격 리소스에 바인딩합니다. 이 명령은 diff를 출력하고 리소스 바인딩을 거부할 수 있지만 확인되면 번들이 다음에 배포될 때 번들의 작업 정의에 대한 업데이트가 해당 원격 작업에 적용됩니다.

databricks bundle deployment bind hello_job 6565621249

번들에서 작업 또는 파이프라인과 작업 영역의 원격 파이프라인 간의 링크를 제거하려는 경우 사용합니다 bundle deployment unbind .

databricks bundle deployment unbind [resource-key]

번들 배포

원격 작업 영역에 번들을 배포하려면 번들 프로젝트 루트에서 명령을 실행 bundle deploy 합니다. 명령 옵션을 지정하지 않으면 번들 구성 파일 내에 선언된 기본 대상이 사용됩니다.

databricks bundle deploy

특정 대상에 번들을 배포하려면 번들 구성 파일 내에 선언된 대로 대상 이름과 함께 (또는--target) 옵션을 설정합니다 -t . 예를 들어 이름으로 dev선언된 대상의 경우:

databricks bundle deploy -t dev

번들은 개발, 스테이징 및 프로덕션 작업 영역과 같은 여러 작업 영역에 배포할 수 있습니다. 기본적으로 root_path 이 속성은 기본값인 번들의 고유 ID를 결정합니다 ~/.bundle/${bundle.name}/${bundle.target}. 따라서 기본적으로 번들의 ID는 배포자의 ID, 번들의 이름 및 번들의 대상 이름으로 구성됩니다. 이러한 번들이 서로 다른 번들에서 동일한 경우 이러한 번들의 배포는 서로 간섭합니다.

또한 번들 배포는 ID로 대상 작업 영역에 만든 리소스를 작업 영역 파일 시스템에 저장된 상태로 추적합니다. 리소스 이름은 번들 배포와 리소스 인스턴스 간의 상관 관계를 지정하는 데 사용되지 않으므로 다음을 수행합니다.

  • 번들 구성의 리소스가 대상 작업 영역에 없는 경우 생성됩니다.
  • 번들 구성의 리소스가 대상 작업 영역에 있는 경우 작업 영역에서 업데이트됩니다.
  • 리소스가 번들 구성에서 제거된 경우 이전에 배포된 경우 대상 작업 영역에서 제거됩니다.
  • 번들 이름, 번들 대상 또는 작업 영역을 변경하는 경우에만 번들과 리소스의 연결을 잊을 수 있습니다. 실행 bundle validate 하여 이러한 값이 포함된 요약을 출력할 수 있습니다.

번들 실행

특정 작업 또는 파이프라인을 실행하려면 명령을 사용합니다 bundle run . 번들 구성 파일 내에 선언된 작업 또는 파이프라인의 리소스 키를 지정해야 합니다. 기본적으로 번들 구성 파일 내에 선언된 환경이 사용됩니다. 예를 들어 기본 환경에서 작업을 hello_job 실행하려면 다음 명령을 실행합니다.

databricks bundle run hello_job

이름으로 dev선언된 대상의 컨텍스트 내에서 키를 hello_job 사용하여 작업을 실행하려면:

databricks bundle run -t dev hello_job

파이프라인 유효성 검사 실행을 수행하려면 다음 예제와 같이 옵션을 사용합니다--validate-only.

databricks bundle run --validate-only my_pipeline

작업 매개 변수--params 전달하려면 이 옵션과 쉼표로 구분된 키-값 쌍을 사용합니다. 여기서 키는 매개 변수 이름입니다. 예를 들어 다음 명령은 이름을 messageHelloWorld 가진 매개 변수를 작업에 hello_job대해 설정합니다.

databricks bundle run --params message=HelloWorld hello_job

참고 항목

작업 작업 옵션을 사용하여 작업 태스크에 매개 변수를 전달할 수 있지만 --params 이 옵션은 작업 매개 변수를 전달하는 데 권장되는 방법입니다. 작업 매개 변수가 정의되지 않은 작업에 대해 작업 매개 변수를 지정하거나 작업 매개 변수가 정의된 작업에 대해 작업 매개 변수를 지정하면 오류가 발생합니다.

기존 작업 실행 또는 파이프라인 업데이트를 취소하고 다시 시작하려면 다음 --restart 옵션을 사용합니다.

databricks bundle run --restart hello_job

번들 삭제

이전에 배포된 작업, 파이프라인 및 아티팩트 삭제하려면 명령을 실행합니다 bundle destroy . 다음 명령은 번들 구성 파일에 정의된 이전에 배포된 모든 작업, 파이프라인 및 아티팩트 삭제합니다.

databricks bundle destroy

참고 항목

번들의 ID는 번들 이름, 번들 대상 및 작업 영역으로 구성됩니다. 이러한 항목을 변경한 다음 배포하기 전에 번들을 삭제하려고 하면 오류가 발생합니다.

기본적으로 이전에 배포된 작업, 파이프라인 및 아티팩트 영구 삭제를 확인하라는 메시지가 표시됩니다. 이러한 프롬프트를 건너뛰고 자동 영구 삭제를 --auto-approve 수행하려면 명령에 옵션을 bundle destroy 추가합니다.