Skip to main content

Developer tools use cases

Databricks provides an ecosystem of tools to help you develop applications and solutions that integrate with 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

SSH tunnel

Databricks Sandbox

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 JavaScript 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

Tool

When to use

SSH tunnel

Databricks Sandbox

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 JavaScript 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