Introduction to Data Sharing on Databricks

    Who this is for:

    Architecture / Concept Overview: Introduction to Data Sharing on Databricks

    Data sharing on Databricks is built on Unity Catalog and the open Delta Sharing protocol. All sharing mechanisms flow through a consistent model of shares, recipients, and governed access.

    %%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%% flowchart LR classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED A[Data Provider] -->|Define Share| B[Unity Catalog Share] B -->|Tables & Views| C[Governed Assets] C -->|D2B| D[Databricks Recipient] C -->|Open Protocol| E[Non-Databricks Recipient] C -->|OpenSharing Link| F[Casual Consumer] D -->|Query in Place| G[Recipient Catalog] E -->|REST API| H[pandas / Spark / dbt] F -->|Download / Connect| I[CSV / Parquet / BI Tool] A:::source B:::governance C:::storage D:::processing E:::serving F:::ingestion G:::storage H:::serving I:::source

    *Databricks sharing supports three recipient types — Databricks workspaces, open protocol clients, and casual consumers via OpenSharing links.*

    %%{init: {"theme":"base","themeVariables":{"background":"#0B0E14","primaryTextColor":"#E0E6ED","lineColor":"#5D6470","darkMode":true,"primaryColor":"#2E4A4A","secondaryColor":"#374151","secondaryTextColor":"#E0E6ED","tertiaryColor":"#111827","tertiaryTextColor":"#E0E6ED","edgeLabelBackground":"#1f2937"}}}%% graph TD classDef source fill:#3F4B59,stroke:#9CA3AF,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef ingestion fill:#5A4B36,stroke:#C9A86B,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef processing fill:#535072,stroke:#8E82B4,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef storage fill:#2E4A4A,stroke:#5FAFA8,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef serving fill:#3D5550,stroke:#6BB7AA,stroke-width:2px,rx:8,ry:8,color:#E0E6ED classDef governance fill:#5A3F52,stroke:#C28BB0,stroke-width:2px,rx:8,ry:8,color:#E0E6ED A[When to Use Which?] --> B[Internal Teams] A --> C[Databricks Partners] A --> D[Non-Databricks Partners] A --> E[Public / Commercial] A --> F[Joint Analysis] B --> G[Unity Catalog Grants] C --> H[D2B Sharing] D --> I[Delta Sharing / OpenSharing] E --> J[Marketplace] F --> K[Clean Rooms] A:::governance B:::source C:::processing D:::serving E:::ingestion F:::governance G:::source H:::processing I:::serving J:::ingestion K:::storage

    *Choose your sharing mechanism based on the recipient type and collaboration pattern.*

    Key Terms

    Prerequisites and Setup

    • A Databricks workspace with Unity Catalog enabled and a metastore configured
    • Metastore admin privileges to create shares and recipients
    • At least one table or view in Unity Catalog to share
    • For D2B: the recipient's workspace sharing identifier
    • For open sharing: an email address or communication channel to send the activation link

    Step-by-Step Implementation

      Configuration Reference

      Introduction to Data Sharing on Databricks configuration options
      ParameterDescriptionDefault
      share.nameUnique identifier for the shareRequired
      share.commentDescription visible to recipientsEmpty
      share.tablesList of tables/views includedEmpty (add with ALTER)
      recipient.typeDATABRICKS or OPENAuto-detected
      recipient.sharing_idMetastore sharing identifier for D2BRequired for D2B
      recipient.ip_access_listRestrict recipient access by IPNone
      share.partition_filterShare only specific partitionsNone (full table)

      Monitoring, Cost, and Security Considerations

      Common Pitfalls and Recommended Patterns

        Frequently Asked Questions