다음을 통해 공유


Databricks 자산 번들란?

DAB(Databricks Asset Bundles)는 Databricks 플랫폼에 대한 복잡한 데이터, 분석 및 ML 프로젝트의 개발을 간소화하기 위한 새로운 도구입니다. 번들을 사용하면 소프트웨어 개발 워크플로에서 단일 간결하고 선언적인 YAML 구문을 사용하여 CI/CD 기능을 제공하여 활성 개발 중에 복잡한 프로젝트를 쉽게 관리할 수 있습니다. 번들을 사용하여 프로젝트의 테스트, 배포 및 구성 관리를 자동화하면 조직 전체에서 소프트웨어 모범 사례를 템플릿 프로젝트로 승격하면서 오류를 줄일 수 있습니다.

번들은 프로젝트의 원본 파일과 함께 메타데이터를 포함하는 방법을 제공합니다. 번들을 사용하여 프로젝트를 배포하는 경우 이 메타데이터는 인프라 및 기타 리소스를 프로비전하는 데 사용됩니다. 그러면 프로젝트의 원본 파일 및 메타데이터 컬렉션이 대상 환경에 단일 번들로 배포됩니다.

번들에는 다음 부분이 포함됩니다.

  • 필수 클라우드 인프라 및 작업 영역 구성
  • 비즈니스 논리를 포함하는 Notebook 및 Python 파일과 같은 원본 파일
  • Azure Databricks 작업, 델타 라이브 테이블 파이프라인, 모델 서비스 엔드포인트, MLflow 실험 및 MLflow 등록된 모델과 같은 Databricks 리소스에 대한 정의 및 설정
  • 단위 테스트 및 통합 테스트

Databricks 자산 번들은 언제 사용해야 하나요?

Databricks 자산 번들은 Databricks 프로젝트를 관리하기 위한 IaC(Infrastructure-as-code) 접근 방식입니다. 여러 기여자 및 자동화가 필수이고 CI/CD(지속적인 통합 및 배포)가 요구되는 복잡한 프로젝트를 관리하려는 경우 사용합니다. 번들은 사용자가 만들고 소스 코드와 함께 얻을 기본 YAML 템플릿 및 파일을 통해 정의되고 관리되므로 IaC가 적절한 접근 방식인 시나리오에 잘 매핑됩니다.

번들에 대한 몇 가지 이상적인 시나리오는 다음과 같습니다.

  • 팀 기반 환경에서 데이터, 분석 및 ML 프로젝트를 개발합니다. 번들은 다양한 소스 파일을 효율적으로 구성하고 관리하는 데 도움이 될 수 있습니다. 이렇게 하면 원활한 협업과 간소화된 프로세스가 보장됩니다.
  • ML 문제를 더 빠르게 반복합니다. 처음부터 프로덕션 모범 사례를 따르는 ML 프로젝트를 사용하여 ML 파이프라인 리소스(예: 학습 및 일괄 처리 유추 작업)를 관리합니다.
  • 기본 권한, 서비스 주체 및 CI/CD 구성을 포함하는 사용자 지정 번들 템플릿을 작성하여 새 프로젝트에 대한 조직 표준을 설정합니다.
  • 규정 준수: 규정 준수가 중요한 관심사인 산업에서 번들은 기본 코드 및 인프라 작업의 버전이 지정된 기록을 파악하는 데 도움이 될 수 있습니다. 이를 통해 거버넌스를 지원하고 필요한 규정 준수 표준을 충족할 수 있습니다.

Databricks 자산 번들은 어떻게 작동합니까?

번들 메타데이터는 Databricks 프로젝트의 아티팩트, 리소스 및 구성을 지정하는 YAML 파일을 사용하여 정의됩니다. 이 YAML 파일을 수동으로 만들거나 번들 템플릿을 사용하여 생성할 수 있습니다. 그런 다음 Databricks CLI를 사용하여 이러한 번들 YAML 파일을 사용하여 번들의 유효성을 검사, 배포 및 실행할 수 있습니다. IDE, 터미널 또는 Databricks 내에서 직접 번들 프로젝트를 실행할 수 있습니다. 이 문서에서는 Databricks CLI를 사용하는 방법에 대해 설명합니다.

번들은 템플릿을 기반으로 수동으로 만들 수 있습니다. Databricks CLI는 간단한 사용 사례에 대한 기본 템플릿을 제공하지만 더 구체적이거나 복잡한 작업의 경우 사용자 지정 번들 템플릿을 만들어 팀의 모범 사례를 구현하고 일반적인 구성을 일관되게 유지할 수 있습니다.

Databricks 자산 번들을 표현하는 데 사용되는 YAML 구성에 대한 자세한 내용은 Databricks 자산 번들 구성을 참조 하세요.

번들을 사용하도록 환경 구성

Databricks CLI를 사용하여 명령줄에서 번들을 쉽게 배포합니다. Databricks CLI가 설치되어 있고 다음 명령을 실행하여 사용 중인 현재 버전을 검사 수 있습니다.

databricks --version

참고 항목

Databricks CLI 버전 0.218.0 이상이 필요합니다. Databricks CLI를 설치하려면 Databricks CLI 설치 또는 업데이트를 참조하세요.

Databricks CLI를 설치한 후 원격 Databricks 작업 영역이 올바르게 구성되었는지 확인합니다. 이 기능은 Databricks Notebook과 같은 .py 파일 및 .yml 파일 이외의 파일 작업을 지원하므로 번들을 사용하려면 작업 영역 파일 기능을 사용하도록 설정해야 합니다. Databricks 런타임 버전 11.2 이상을 사용하는 경우 기본적으로 이 기능을 사용하도록 설정해야 합니다.

인증

Azure Databricks는 몇 가지 인증 방법을 제공합니다. Databricks는 다음 방법 중 하나를 사용하여 인증하는 것이 좋습니다.

  • 웹 브라우저를 사용하여 대상 Azure Databricks 작업 영역에 로그인하는 수동 워크플로와 같은 참석 인증 시나리오의 경우(Databricks CLI에서 메시지가 표시되면) OAuth U2M(사용자 대 컴퓨터) 인증을 사용합니다. 이 방법은 Databricks 자산 번들에 대한 시작 자습서를 실험하거나 번들을 빠르게 개발하는 데 적합합니다.
  • 웹 브라우저를 사용하여 대상 Azure Databricks 작업 영역에 로그인할 기회가 없는 완전 자동화된 워크플로와 같은 무인 인증 시나리오의 경우 OAuth M2M(컴퓨터 간) 인증을 사용합니다. 이 방법을 사용하려면 Azure Databricks 서비스 주체를 사용해야 하며 GitHub와 같은 CI/CD 시스템에서 Databricks 자산 번들을 사용하는 데 적합합니다.

OAuth U2M 인증의 경우 다음을 수행합니다.

  1. Databricks CLI를 사용하여 각 대상 작업 영역에 대해 다음 명령을 실행하여 OAuth 토큰 관리를 로컬로 시작합니다.

    다음 명령에서 작업 영역별 Azure Databricks URL로 바꿉 <workspace-url> 니다. 예를 들면 다음과 같습니다https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI는 Azure Databricks 구성 프로필로 입력한 정보를 저장하라는 메시지를 표시합니다. 제안된 프로필 이름을 적용하려면 누르 Enter 거나 새 프로필 또는 기존 프로필의 이름을 입력합니다. 이름이 같은 기존 프로필은 입력한 정보로 덮어씁니다. 프로필을 사용하여 여러 작업 영역에서 인증 컨텍스트를 빠르게 전환할 수 있습니다.

    기존 프로필 목록을 얻으려면 별도의 터미널 또는 명령 프롬프트에서 Databricks CLI를 사용하여 명령을 databricks auth profiles실행합니다. 특정 프로필의 기존 설정을 보려면 명령을 databricks auth env --profile <profile-name>실행합니다.

  3. 웹 브라우저에서 화면의 지침을 완료하여 Azure Databricks 작업 영역에 로그인합니다.

  4. 프로필의 현재 OAuth 토큰 값과 토큰의 예정된 만료 타임스탬프를 보려면 다음 명령 중 하나를 실행합니다.

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    동일한 --host 값을 가진 여러 프로필이 있는 경우 Databricks CLI가 올바른 일치하는 OAuth 토큰 정보를 찾을 수 있도록 옵션과 -p 옵션을 함께 지정 --host 해야 할 수 있습니다.

번들의 유효성을 검사, 배포, 실행 또는 삭제할 때마다 다음 방법 중 하나 이상의 방법으로 이 구성 프로필의 이름을 사용할 수 있습니다.

  • 명령줄 옵션을 -p <profile-name>사용하여 명령databricks bundle validate, databricks bundle deploydatabricks bundle run또는 databricks bundle destroy. Databricks 자산 번들 개발 워크플로를 참조하세요.
  • 번들 구성 파일의 최상위 workspace 매핑에서 매핑 값 profile 으로 사용됩니다(Databricks는 번들 구성 파일을 더 이식 가능하게 하기 때문에 매핑 대신 profile Azure Databricks 작업 영역의 URL에 매핑 집합을 사용하는 host 것이 좋습니다). 작업 영역에서 매핑profile 적용 범위를 참조하세요.
  • 구성 프로필의 이름이면 DEFAULT명령줄 옵션 -p <profile-name> 또는 (또는 profilehost) 매핑 이 지정되지 않은 경우 기본적으로 사용됩니다.

OAuth M2M 인증의 경우 다음을 수행합니다.

  1. OAuth M2M 인증 설정 지침을 완료합니다. OAuth M2M(컴퓨터-컴퓨터) 인증을 참조하세요.

  2. 다음 방법 중 하나로 대상 컴퓨팅 리소스에 Databricks CLI를 설치합니다.

    • 컴퓨팅 리소스에 Databricks CLI를 실시간으로 수동으로 설치하려면 Databricks CLI 설치 또는 업데이트를 참조하세요.
    • GitHub Actions를 사용하여 GitHub 가상 머신에 Databricks CLI를 자동으로 설치하려면 GitHub의 setup-cli를 참조하세요.
    • 다른 CI/CD 시스템을 사용하여 가상 머신에 Databricks CLI를 자동으로 설치하려면 CI/CD 시스템 공급자의 설명서를 참조하고 Databricks CLI 설치 또는 업데이트를 참조하세요.
  3. 컴퓨팅 리소스에서 다음과 같이 다음 환경 변수를 설정합니다.

    • DATABRICKS_HOST- 작업 영역별 Azure Databricks URL로 설정됩니다. 예를 들면 다음과 같습니다 https://adb-1234567890123456.7.azuredatabricks.net.
    • DATABRICKS_CLIENT_ID- Azure Databricks 서비스 주체의 애플리케이션 ID 값으로 설정합니다.
    • DATABRICKS_CLIENT_SECRET- Azure Databricks 서비스 주체의 OAuth 비밀 값으로 설정합니다.

    이러한 환경 변수를 설정하려면 대상 컴퓨팅 리소스의 운영 체제 또는 CI/CD 시스템에 대한 설명서를 참조하세요.

첫 번째 Databricks 자산 번들 개발

번들 개발을 시작하는 가장 빠른 방법은 템플릿을 사용하는 것입니다. 옵션 없이 Databricks CLI bundle init 명령을 사용하여 첫 번째 번들 프로젝트를 만듭니다. 그러면 Databricks에서 제공하는 기본 번들 템플릿 중에서 선택할 수 있으며 프로젝트 변수를 초기화하기 위한 일련의 질문을 합니다.

databricks bundle init

조직에서는 사용자 지정 번들 템플릿을 만들어 자체 표준을 정의할 수도 있습니다. 이러한 표준에는 기본 권한, 서비스 주체 및 사용자 지정 CI/CD 구성이 포함될 수 있습니다. Databricks 자산 번들 템플릿을 참조 하세요.

프로젝트를 초기화한 후 명령을 사용하여 bundle validate 작업 영역에 배포하기 전에 번들의 유효성을 검사합니다.

databricks bundle validate

일반적으로 IDE 및 Databricks CLI 버전 0.218.0 이상을 사용하여 로컬 개발 머신에 번들을 만듭니다. 이러한 도구를 사용하면 번들을 만들고, 유효성을 검사하고, 배포하고, 실행할 수 있습니다. Databricks 자산 번들 개발 워크플로를 참조하세요.

Databricks Git 폴더 통합을 사용하여 Git에 번들을 추가한 후 Azure Databricks 작업 영역에서 번들을 편집할 수 있습니다. 그러나 작업 영역에서 번들을 테스트하거나 배포할 수는 없습니다. 대신 테스트에 로컬 IDE를 사용하고 배포에 CI/CD를 사용할 수 있습니다.

다음 단계

  • Azure Databricks 작업 영역에 Notebook을 배포한 다음 배포된 Notebook을 Azure Databricks 작업으로 실행하는 번들을 만듭니다. Databricks 자산 번들을 사용하여 Azure Databricks에서 작업 개발을 참조 하세요.
  • Azure Databricks 작업 영역에 Notebook을 배포한 다음 배포된 Notebook을 Delta Live Tables 파이프라인으로 실행하는 번들을 만듭니다. Databricks 자산 번들을 사용하여 델타 라이브 테이블 파이프라인 개발을 참조 하세요.
  • MLOps Stack을 배포하고 실행하는 번들을 만듭니다. MLOps 스택에 대한 Databricks 자산 번들을 참조 하세요.
  • GitHub에서 CI/CD(지속적인 통합/지속적인 배포) 워크플로에 번들을 추가합니다. Databricks 자산 번들 및 GitHub Actions를 사용하여 CI/CD 워크플로 실행을 참조 하세요.
  • Python 휠 파일을 빌드, 배포 및 호출하는 번들을 만듭니다. Databricks 자산 번들을 사용하여 Python 휠 파일 개발을 참조 하세요.
  • 사용자와 다른 사용자가 번들을 만드는 데 사용할 수 있는 사용자 지정 템플릿을 만듭니다. Databricks 자산 번들 템플릿을 참조 하세요.

일반 작업

다음 문서를 사용하여 Databricks 자산 번들에 대한 일반적인 작업을 완료합니다.

문서 원하는 경우 이 문서를 사용합니다.
Databricks 자산 번들 개발 워크플로 파일을 작성하고 databricks.yml Databricks CLI를 사용하여 명령을 실행하여 번들을 만들고, 유효성을 검사하고, 배포하고databricks bundle run, 실행하기 위한 작업에 대해 알아봅니다databricks bundle validatedatabricks bundle deploy.
Databricks 자산 번들 구성 번들 구성에 databricks.yml 대한 YAML 구문을 준수하는 번들의 파일 및 기타 관련 번들 구성 파일을 만듭니다.
Databricks 자산 번들에 대한 인증 Azure Databricks 인증에 대한 번들 프로젝트를 설정합니다.
Databricks 자산 번들을 사용하여 Azure Databricks에서 작업 개발 Azure Databricks 작업에 대한 번들을 만들고, 배포하고, 실행합니다.
Databricks 자산 번들을 사용하여 Delta Live Tables 파이프라인 개발 Delta Live Tables 파이프라인에 대한 번들을 만들고, 배포하고, 실행합니다.
MLOps 스택에 대한 Databricks 자산 번들 MLOps Stack에 대한 번들을 만들고, 배포하고, 실행합니다.
Databricks 자산 번들 라이브러리 종속성 관련된 Azure Databricks 클러스터에서 번들이 실행되어야 하는 라이브러리를 설치합니다.
Databricks 자산 번들 배포 모드 관련 일정 및 트리거 일시 중지 또는 일시 중지와 production 같은 일반적인 배포 동작을 자동으로 사용하거나 사용하지 않도록 설정하는 것과 같은 development 번들 배포 모드를 사용합니다.
Databricks 자산 번들 템플릿 템플릿을 사용하여 보다 일관되고 반복 가능한 결과를 통해 특정 종류의 번들을 더 빠르고 쉽게 만들 수 있습니다.
Databricks 자산 번들의 리소스에 대한 권한 설정 특정 번들 리소스에 대한 사용자, 그룹 및 서비스 주체에 세분화된 액세스 권한 수준을 적용합니다.
Databricks 자산 번들에 동적으로 아티팩트 설정 정의 번들의 아티팩트별 설정을 결합하거나 재정의합니다.
Databricks 자산 번들 및 GitHub Actions를 사용하여 CI/CD 워크플로 실행 끌어오기 요청 또는 병합과 같은 특정 GitHub 워크플로 이벤트에 대한 응답으로 번들을 배포하거나 실행합니다.
Databricks 자산 번들의 클러스터 설정 재정의 번들의 클러스터에 대한 특정 설정을 결합하거나 재정의합니다.
Databricks 자산 번들의 작업에 작업 추가 번들에서 작업에 작업을 추가합니다.
Databricks 자산 번들의 작업 작업 설정 재정의 번들에서 작업 작업에 대한 특정 설정을 결합하거나 재정의합니다.
Databricks 자산 번들을 사용하여 Python 휠 파일 개발 번들에서 Python 휠 파일을 빌드, 배포 및 호출합니다.

추가 리소스