다음을 통해 공유


Databricks 앱에 대한 종속성 관리

각 Databricks 앱에는 Python, Node.js또는 둘 다에 대한 종속성이 포함될 수 있습니다. 언어별 파일에서 이러한 종속성을 정의합니다.

  • requirements.txt 파일을 사용하여 추가 Python 패키지를 지정합니다.
  • package.json 파일을 사용하여 Node.js 패키지를 지정합니다.

각 앱에는 미리 설치된 Python 라이브러리 집합도 함께 제공됩니다. 미리 설치된 Python 라이브러리를 참조하세요.

Python 종속성 정의

추가 Python 라이브러리를 정의하려면 파일을 사용합니다 requirements.txt . 나열된 패키지가 미리 설치된 패키지와 일치하는 경우 파일의 버전이 기본값을 재정의합니다.

다음은 그 예입니다.

# Override default version of dash
dash==2.10.0

# Add additional libraries not pre-installed
requests==2.31.0
numpy==1.24.3

# Specify a compatible version range
scikit-learn>=1.2.0,<1.3.0

버전 충돌 방지

종속성을 정의할 때 다음 사항에 유의하세요.

  • 미리 설치된 패키지를 재정의하면 지정된 버전이 미리 설치된 버전과 크게 다른 경우 호환성 문제가 발생할 수 있습니다.
  • 항상 앱을 테스트하여 패키지 버전 변경 시 오류가 발생하지 않도록 합니다.
  • 명시적 버전을 고정하면 배포 전체에서 requirements.txt 일관된 앱 동작을 유지하는 데 도움이 됩니다.

Node.js 종속성 정의

Node.js 라이브러리를 package.json 정의하려면 앱의 루트에 파일을 포함합니다. 배포하는 동안 Azure Databricks는 이 파일을 검색하고 실행 npm install 하여 나열된 모든 종속성을 설치합니다.

예를 들어, Vite를 사용하는 React 앱의 파일은 다음과 같이 생겼을 수 있습니다.

{
  "name": "react-fastapi-app",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    "build": "npm run build:frontend",
    "build:frontend": "vite build frontend"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "typescript": "^5.0.0",
    "vite": "^5.0.0",
    "@vitejs/plugin-react": "^4.2.0",
    "@types/react": "^18.2.0",
    "@types/react-dom": "^18.2.0"
  }
}

비고

npm run build에 필요한 dependencies 모든 패키지를 나열하고, devDependencies에는 나열하지 마십시오. 환경 변수에 NODE_ENV=production를 설정하면, 배포 프로세스에서 devDependencies 설치 과정을 건너뜁니다.

종속성 설치 및 관리

전용 컴퓨팅에서 실행되는 컨테이너에 requirements.txtpackage.json에 정의된 라이브러리가 직접 설치됩니다. 이러한 종속성을 관리하고 패치할 책임이 있습니다.

종속성 파일의 여러 원본에서 라이브러리를 지정할 수 있습니다.

  • PyPI 및 npm과 같은 공용 리포지토리에서 다운로드된 라이브러리
  • Azure Databricks 비밀에 저장된 자격 증명을 사용하여 인증하는 프라이빗 리포지토리
  • 디렉터리에 저장된 /Volumes/ 라이브러리(예: /Volumes/<catalog>/<schema>/<volume>/<path>

프라이빗 리포지토리에서 설치

프라이빗 리포지토리에서 패키지를 설치하려면 인증을 위해 환경 변수를 구성합니다. 예를 들어 프라이빗 리포지토리를 가리키도록 설정합니다 PIP_INDEX_URL .

env:
  - name: PIP_INDEX_URL
    valueFrom: my-pypi-secret

작업 영역 네트워크 구성은 프라이빗 리포지토리에 대한 액세스를 허용해야 합니다. Databricks 앱에 대한 네트워킹 구성을 참조하세요.

Unity 카탈로그 볼륨에서 휠 파일 설치

Unity 카탈로그 볼륨에 저장된 휠 파일에서 Python 패키지를 설치하려면 다음을 수행합니다.

  1. Unity 카탈로그 볼륨을 앱에 리소스로 추가합니다. Unity 카탈로그 볼륨을 참조하세요.
  2. 다음에서 직접 전체 휠 파일 경로를 참조합니다 requirements.txt.
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl

비고

환경 변수 참조는 .에서 requirements.txt지원되지 않습니다. 전체 휠 파일 경로를 하드 코딩해야 합니다.

외부 패키지 리포지토리에 액세스할 때 보안을 강화하려면 서버리스 송신 컨트롤을 사용하여 공용 리포지토리에 대한 액세스를 제한하고 프라이빗 네트워킹을 구성합니다. Databricks 앱에 대한 네트워킹 구성을 참조하세요.