각 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.txt 및 package.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 패키지를 설치하려면 다음을 수행합니다.
- Unity 카탈로그 볼륨을 앱에 리소스로 추가합니다. Unity 카탈로그 볼륨을 참조하세요.
- 다음에서 직접 전체 휠 파일 경로를 참조합니다
requirements.txt.
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
비고
환경 변수 참조는 .에서 requirements.txt지원되지 않습니다. 전체 휠 파일 경로를 하드 코딩해야 합니다.
외부 패키지 리포지토리에 액세스할 때 보안을 강화하려면 서버리스 송신 컨트롤을 사용하여 공용 리포지토리에 대한 액세스를 제한하고 프라이빗 네트워킹을 구성합니다. Databricks 앱에 대한 네트워킹 구성을 참조하세요.