개념
💡 Databricks CLI 는 터미널(명령줄)에서 Databricks를 관리하고 조작할 수 있는 커맨드라인 도구입니다. Workspace, 클러스터, Job, SQL, Asset Bundles 등 대부분의 Databricks 기능을 CLI로 사용할 수 있습니다.GUI(웹 UI)만으로도 Databricks를 사용할 수 있지만, CLI를 활용하면 반복 작업 자동화, CI/CD 파이프라인 구축, 스크립트 기반 관리 등 더 효율적인 운영이 가능합니다. 특히 여러 Workspace를 관리하거나 배포 파이프라인을 구축할 때 CLI는 필수적인 도구입니다.
설치
Databricks CLI는 OS에 따라 다양한 방법으로 설치할 수 있습니다. 설치 후databricks --version으로 설치를 확인합니다.
⚠️ 주의: Databricks CLI v2 (현재 버전)와 레거시 CLI (Python 패키지databricks-cli)는 완전히 다른 도구입니다. 레거시 CLI는 더 이상 권장되지 않습니다.pip install databricks-cli로 설치한 것이 있다면 제거하고 새 CLI를 사용하세요.
인증 설정
Databricks CLI를 사용하려면 먼저 인증을 설정해야 합니다. OAuth 기반 인증이 권장되며, 여러 Workspace를 프로필로 관리할 수 있습니다.OAuth 인증 (권장)
Personal Access Token (PAT) 인증
환경 변수 인증 (CI/CD)
CI/CD 파이프라인에서는 환경 변수로 인증 정보를 전달합니다. 별도의 설정 파일이 필요 없어 자동화에 적합합니다.프로필 관리
여러 Workspace를 사용하는 경우, 프로필 을 통해 각 Workspace의 인증 정보를 관리합니다. 프로필은~/.databrickscfg 파일에 저장됩니다.
프로필 설정 파일 구조
주요 명령어
Workspace 관리
Workspace의 파일과 폴더를 관리합니다. 노트북, 파일, 디렉토리의 목록 조회, 내보내기, 가져오기가 가능합니다.클러스터 관리
클러스터의 생성, 시작, 정지, 상태 확인 등을 수행합니다.Job 관리
Lakeflow Jobs의 생성, 실행, 모니터링을 수행합니다.SQL 실행
SQL Warehouse를 통해 SQL 쿼리를 실행합니다.Volume 파일 관리
Unity Catalog Volume의 파일을 관리합니다. 로컬 파일을 업로드하거나, Volume에서 파일을 다운로드할 수 있습니다.Secrets 관리
비밀번호, API 키 등 민감한 정보를 안전하게 저장하고 관리합니다. Secrets는 노트북이나 Job에서 참조할 수 있지만, 평문으로 노출되지 않습니다.Asset Bundles
프로젝트를 코드로 정의하고, 환경별로 배포합니다. CI/CD 파이프라인의 핵심 도구입니다.유용한 옵션
| 옵션 | 설명 | 사용 예시 |
|---|---|---|
--profile <name> | 특정 인증 프로필 사용 | databricks clusters list --profile prod |
--output json | 결과를 JSON 형식으로 출력 | databricks jobs list --output json |
--output text | 결과를 텍스트 테이블로 출력 | databricks clusters list --output text |
--debug | 디버그 로그 출력 (문제 진단 시) | databricks clusters list --debug |
-h / --help | 도움말 표시 | databricks jobs --help |
--log-level | 로그 수준 설정 | databricks bundle deploy --log-level debug |
자주 사용하는 워크플로우
1. 개발 환경 빠른 설정
2. 프로덕션 배포 (CI/CD)
3. 대량 데이터 업로드
4. 클러스터 비용 관리
5. Job 실행 결과 모니터링
정리
| 핵심 기능 | 설명 |
|---|---|
| 설치 | Homebrew(macOS) 또는 curl(Linux/Windows)로 설치합니다. 레거시 CLI와 혼동하지 마세요 |
| 인증 | OAuth(권장) 또는 PAT 기반으로 설정합니다. CI/CD에서는 환경 변수를 사용합니다 |
| 프로필 | 여러 Workspace의 인증을 ~/.databrickscfg에서 프로필로 관리합니다 |
| Workspace | 노트북과 파일의 내보내기/가져오기를 수행합니다 |
| Clusters | 클러스터의 생성, 시작, 정지, 상태 조회를 수행합니다 |
| Jobs | Job의 생성, 실행, 모니터링, 파라미터 전달을 수행합니다 |
| Secrets | 민감한 정보를 암호화하여 안전하게 저장하고 관리합니다 |
| Asset Bundles | YAML로 프로젝트를 정의하고, 환경별로 배포합니다. CI/CD의 핵심입니다 |