Skip to main content

What is Databricks Apps?

Databricks Apps lets developers create, deploy, and share secure data and AI applications on the Databricks platform. With serverless infrastructure, apps integrate with Databricks services like SQL, model serving, and data governance, which allows developers to focus on building applications without managing infrastructure.

Where do I develop a Databricks app?

You can write and test apps in any IDE that supports Python, such as PyCharm, IntelliJ IDEA, or Visual Studio Code. Databricks recommends developing your apps using Visual Studio Code and the Databricks extension for Visual Studio Code, but you can also use the Databricks notebook and file editor to edit your code directly in your Databricks workspace.

How do I develop and deploy a Databricks app?

To develop an app locally, the following is a typical workflow:

  • Develop your app in your preferred IDE such as Visual Studio Code.
  • Run your app locally at the command line and view it in your browser.
  • When the code is complete and tested, move the code and required artifacts to your Databricks workspace.

See Get started with Databricks Apps.

To create an app in the UI or using a pre-built example, see How do I create an app in the Databricks Apps UI?.

Who can create Databricks apps?

Any user in a workspace can create apps. However, to manage the permissions of the service principal assigned to an app, you must be an account or workspace admin.

How do I configure my Databricks app?

Databricks Apps automatically sets several environment variables your app can access, such as the Databricks host on which your app is running. You can also set custom parameters using a YAML file. See Databricks Apps configuration.

How do I integrate my Databricks app with Databricks services?

Your apps can use Databricks platform features such as Databricks SQL to query data, Databricks Jobs for data ingestion and processing, Mosaic AI Model Serving to access generative AI models, and Databricks secrets to manage sensitive information. When configuring your app, these Databricks platform features are referred to as resources.

However, because apps are designed to be portable, Databricks recommends that apps do not depend on specific resources. For example, your app should not be hardcoded to use a particular SQL warehouse. Instead, configure the SQL warehouse in the Databricks Apps UI when creating or updating an app.

Additionally, because apps are configured to run with the least required privileges, they should not create new resources. Instead, they must rely on the Databricks platform to resolve existing dependent services. Each app has a Databricks service principal assigned. During app creation or update, the service principal is granted required permissions on defined resource dependencies.

To learn more about adding Databricks platform features as app resources, see Assign Databricks platform features to a Databricks app.

Where can I find audit logs for my Databricks apps?

To find audit events for apps, use the Databricks system tables. You can use the system tables to query things like: