Databricks provides an ecosystem of tools to help you develop applications and solutions that integrate with Azure Databricks and programmatically manage Databricks resources and data.
This page has tool recommendations for common developer scenarios. For a complete overview of developer tools, see Develop on Databricks. For best practices, see Developer best practices on Databricks.
| Tool |
When to use |
Visual Studio Code and Cursor extension PyCharm Databricks plugin For other IDEs, use the Databricks CLI with Databricks Connect |
- Interactive development and debugging from a local IDE
|
| Databricks CLI |
- Direct interaction with Databricks from the command line
- Shell scripting
- Experimentation
- Invoke the REST API directly
- Manage local authentication profiles
- Sync code from the IDE to the Databricks workspace
|
| Declarative Automation Bundles (a feature of the CLI) |
- Manage workflows and deploy projects to Databricks
- Automate user-specific flows
- Apply CI/CD best practices
- Co-version, co-author, and co-deploy your resources and assets as one unit
- Supports the most common resources
|
| Databricks Terraform provider |
- Provision resources outside of Databricks, such as cloud accounts, metastores, and account-level identities
- Administer and create Databricks workspaces and metastores
- Use with existing Terraform-based infrastructure as code and CI/CD workflows
- Enforce permissions
- Guarantee environment portability and disaster recovery
- Many supported resources
|
Databricks Python SDK Databricks Java SDK Databricks Go SDK Databricks R SDK |
- Application development
- Integrate with existing deployment systems
- Create custom Databricks workflows and web services
|
| SQL drivers |
- Run SQL commands and scripts from client applications
|
| Databricks REST API |
- Automate processes where an SDK in your preferred programming language is not available
- Access to almost all Databricks resources
- Advanced scenarios only
|