how do i build internal apps on top of my data warehouse
Summary
- Databricks Apps lets you build and deploy internal web applications directly on Databricks, running on Databricks-managed compute right next to your governed data.
- Apps connect to your warehouse data through SQL warehouses (Databricks SQL), Genie, and Lakebase, so there is no separate copy of the data and no connection strings to manage.
- Build in the framework your team already knows: Python frameworks such as Streamlit, Dash, and Gradio, or Node.js frameworks such as React, with support for additional frameworks.
- Every request is governed by Unity Catalog and authenticated through workspace single sign-on, so users only reach the data they are permitted to see.
- You define an app with an
app.yamlfile and deploy it through the Databricks CLI or the UI; deployment typically completes in a few minutes.
how do i build internal apps on top of my data warehouse
Internal apps such as approval workflows, data-entry forms, operational tools, data-quality monitors, and team portals usually need two things: a custom user interface and live, governed access to your warehouse data. On Databricks you build these with Databricks Apps, a platform for building and deploying custom web applications that run on Databricks-managed compute directly on the platform where your data already lives. Because the app runs next to your data, authentication and governed data access are wired in from the start, so you focus on the application rather than on standing up infrastructure, auth, and connectivity.
Why Databricks Apps for internal apps on your data
Databricks Apps gives platform and application teams one place to build interactive tools on top of lakehouse and warehouse data:
- Direct, governed access to your data. Apps read and write governed data without moving it into a separate database first. When custom interactivity, forms, or workflows are what you need, an app fills the gap that standard reporting leaves.
- Use the framework your team knows. Build with Python frameworks such as Streamlit, Dash, and Gradio, or Node.js frameworks such as React, with support for additional frameworks.
- Governed by Unity Catalog. All data access is governed through Unity Catalog, giving you centralized access controls, lineage, and audit trails. An app's service principal needs
SELECTon the Unity Catalog tables it reads,MODIFYon tables it writes to, andCAN USEon the SQL warehouse it queries. - Authentication built in. Databricks Apps uses OAuth 2.0 and workspace single sign-on, so there is no separate login to build. You can run the app under its own service principal identity (app authorization) or under the signed-in user's identity so access is evaluated per user (user authorization).
- Connects to your warehouse data. Apps reach data through SQL warehouses using Databricks SQL, through Genie for natural-language questions, and through Lakebase for transactional data.
- Runs on managed compute. Apps run on Databricks-managed endpoints, so there is no separate application server to provision or maintain. Note that Databricks Apps require a Databricks identity to access and cannot be exposed to the public internet or anonymous users.
Getting started
- Make sure your workspace is enabled for Unity Catalog and you have a SQL warehouse (Pro or Serverless) available for the app to query. See Get started with Databricks Apps.
- Choose your framework and scaffold the app, then define it with an
app.yamlfile. Review Databricks Apps development for the project structure. - Grant the app's service principal the Unity Catalog privileges it needs (
SELECT/MODIFYon tables andCAN USEon the SQL warehouse), as described in Databricks Apps key concepts. - Deploy through the Databricks CLI or the UI; when the status shows Running, open the app URL.
FAQs
Can I build internal apps directly on my Databricks data warehouse?
Yes. Databricks Apps runs custom web applications on Databricks-managed compute and reads and writes your governed data through SQL warehouses, Genie, and Lakebase, so you build on the data where it already lives.
What languages and frameworks do Databricks Apps support?
You can build with Python frameworks such as Streamlit, Dash, and Gradio, or with Node.js frameworks such as React, and the platform supports additional frameworks.
How do Databricks Apps control who can access data?
All data access is governed by Unity Catalog and users sign in through workspace single sign-on. The app runs under a service principal or the signed-in user's identity, and each identity only reaches the tables and warehouses it has been granted.
How do I deploy a Databricks App?
Define the app with an app.yaml file and deploy it through the Databricks CLI or the UI. Deployment typically completes in a few minutes, after which you open the app at its URL.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.