Skip to main content

Serving and consumption

Databricks provides multiple patterns for serving data to downstream consumers, from BI dashboards to ML inference to real-time streaming. This page covers SQL warehouses, model serving, data sharing, and streaming output patterns.

SQL warehouses for BI and analytics​

Use Databricks SQL Warehouses as the dedicated serving layer for BI and analytics workloads.

  • Serverless SQL Warehouses (recommended) - On-demand, instant access with automatic scaling
  • Classic SQL Warehouses - For specific configurations or dedicated resources

Connect via JDBC/ODBC drivers, SQL Statement Execution API, or Databricks Connect.

Documentation: SQL Warehouses | Integration Patterns

Model serving​

For ML model inference, use Mosaic AI Model Serving:

  1. Deploy models registered in Unity Catalog
  2. Use Foundation Model APIs for LLM inference
  3. Create custom model endpoints for specialized workloads

Documentation: Model Serving

Data sharing​

OpenSharing​

Use OpenSharing to securely share data with external consumers:

  • Databricks-to-Databricks sharing for full feature support
  • Open sharing protocol for non-Databricks consumers

Lakehouse Federation​

Use Lakehouse Federation to query data in external systems without copying.

Documentation: OpenSharing | Lakehouse Federation

Streaming output​

For real-time data delivery, use Structured Streaming or Lakeflow SDP sinks to write to external destinations.

Structured Streaming - Near real-time processing with exactly-once guarantees. Common sinks:

  • Delta Lake tables
  • Message buses and queues (Kafka, Event Hubs)
  • Key-value databases

SDP sinks - Declarative output from Lakeflow pipelines:

  • LDP sinks for Unity Catalog tables, Kafka, Event Hubs
  • Python custom sinks for arbitrary data stores
  • ForEachBatch for multiple targets or custom transformations

Documentation: Structured Streaming | SDP Sinks

What's next​