Databricks CLI: Managing Databricks from the Command Line
Who this is for:
Architecture / Concept Overview: Databricks CLI: Managing Databricks from the Command Line
%%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%%
flowchart LR
classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
TERM[Terminal / CI Runner]:::source
CLI[Databricks CLI]:::ingestion
AUTH[Auth: PAT / OAuth / Azure CLI]:::governance
API[Databricks REST API]:::processing
WS[Workspace Resources]:::storage
JOBS[Jobs & Workflows]:::serving
TERM --> CLI
CLI --> AUTH
CLI --> API
API --> WS
API --> JOBS
*The CLI authenticates via multiple methods and translates terminal commands into REST API calls against your workspace.*
%%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%%
graph TD
classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED
CLI[CLI Command Groups]:::source
AUTH_CMD[auth]:::governance
WS_CMD[workspace]:::storage
JOBS_CMD[jobs]:::serving
CLUSTERS_CMD[clusters]:::processing
BUNDLE_CMD[bundle]:::ingestion
FS_CMD[fs]:::storage
CLI --> AUTH_CMD
CLI --> WS_CMD
CLI --> JOBS_CMD
CLI --> CLUSTERS_CMD
CLI --> BUNDLE_CMD
CLI --> FS_CMD
AUTH_CMD --> PROFILES[Profile Management]:::governance
BUNDLE_CMD --> DEPLOY[Validate / Deploy / Destroy]:::ingestion
*The CLI organizes commands into logical groups matching Databricks platform domains.*
Key Terms
Prerequisites and Setup
- Python 3.8+ or install via Homebrew (
brew install databricks) - A Databricks workspace URL (e.g.,
https://adb-1234567890.1.azuredatabricks.net) - A personal access token or OAuth application configured
- Network access to your workspace endpoint
Step-by-Step Implementation
Configuration Reference
| Configuration | Location | Description |
|---|---|---|
DATABRICKS_HOST | Environment variable | Workspace URL |
DATABRICKS_TOKEN | Environment variable | Personal access token |
DATABRICKS_CONFIG_PROFILE | Environment variable | Named profile to use |
~/.databrickscfg | File | Multi-profile configuration file |
databricks.yml | Project root | Bundle configuration file |
--output | CLI flag | Output format: JSON, TEXT, TABLE |