> ## Documentation Index
> Fetch the complete documentation index at: https://docs.peopledatalabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Delivery Using Databricks

For customers using Databricks, we can deliver data through Delta Sharing (Databricks-to-Databricks). PDL shares person and company data directly into your Unity Catalog metastore as a read-only catalog — there are no files to move and no credentials to rotate.

<Note>
  Delta Sharing requires that your Databricks workspace is enabled for Unity Catalog.
</Note>

### Set Up Delivery

To set up this delivery, do the following:

1. **Locate your Databricks sharing identifier.** This is a string in the format `<cloud>:<region>:<uuid>`, for example:

   ```
   aws:eu-west-1:b0c978c8-3e68-4cdf-94af-d05c120ed1ef
   ```

   You can find your identifier in either of two ways:

   <Tabs>
     <Tab title="Catalog Explorer">
       1. In your Databricks workspace, click **Catalog**.
       2. At the top of the Catalog pane, click the gear icon and select **Delta Sharing** (or, in the upper-right corner, click **Share > Delta Sharing**).
       3. On the **Shared with me** tab, click your organization name in the upper right and select **Copy sharing identifier**.
     </Tab>

     <Tab title="Notebook or SQL editor">
       Run the following on Unity-Catalog-enabled compute (standard or dedicated access mode):

       ```sql SQL theme={null}
       SELECT CURRENT_METASTORE();
       ```
     </Tab>
   </Tabs>

2. **Contact your CSM** and share your sharing identifier with them. We will create a recipient and share for your account and notify you, along with the **provider** and **share** names, once your data is available.

3. **Create a catalog from the share.** Once your delivery is complete and you are notified, a metastore admin (or a user with the `CREATE CATALOG` and `USE PROVIDER` privileges) will need to run the following:

   ```sql SQL theme={null}
   CREATE CATALOG IF NOT EXISTS pdl_delivery
   USING SHARE peopledatalabs.{{share name}};
   ```

   Replace `{{share name}}` with the share name from our email. The delivered tables will now appear under the `pdl_delivery` catalog as read-only tables, queryable like any other catalog in Unity Catalog.

4. **Copy the shared data into a table in your own instance.** A Delta Sharing catalog is read-only. Copy the shared tables directly into your own Databricks catalog or workspace storage before querying them — querying local tables significantly improves query performance and speed for downstream transformations, joins, and analysis compared to querying directly from the share.

   Run the following to create a local writable copy:

   ```sql SQL theme={null}
   CREATE OR REPLACE TABLE main.my_schema.pdl_person AS
   SELECT * FROM pdl_delivery.{{schema}}.{{table}};
   ```

   Using `CREATE OR REPLACE TABLE ... AS SELECT` handles both the first run and any later schema changes in a single statement, without requiring the destination table to already exist.

5. **Assign permissions** so your team can query the delivered data. Grant `USE CATALOG`, `USE SCHEMA`, and `SELECT` to the user or group that needs access:

   ```sql SQL theme={null}
   GRANT USE CATALOG ON CATALOG pdl_delivery            TO `data-team`;
   GRANT USE SCHEMA  ON SCHEMA  pdl_delivery.{{schema}} TO `data-team`;
   GRANT SELECT      ON SCHEMA  pdl_delivery.{{schema}} TO `data-team`;
   ```

   Replace `data-team` with your target user or group. `SELECT` granted at the schema level applies to every table in that schema.

For completion signals on other delivery methods, see [Data License Ingestion](/docs/data-license-ingestion).

### Note on Compute

The `SELECT CURRENT_METASTORE()` function and all reads from a shared catalog must run on Unity-Catalog-enabled compute using **standard** or **dedicated** access mode. These commands will not run on compute that is not UC-enabled.

### Note on Read-Only Shares

You cannot write to, update, or otherwise modify a Delta Sharing catalog or any object inside it. While direct querying from the share is possible, it relies on remote data transfers that can slow down analytical workloads. To optimize query execution speed and keep your workflows performant, always copy the delivered data into a table in your own catalog first (see step 4 above).

### Permission Inheritance

Privileges are inherited downward. A user granted `SELECT` on the catalog automatically has `SELECT` on every schema and table beneath it, unless the privilege is explicitly revoked. You can therefore grant broadly at the catalog level, or narrowly at the schema level as shown in step 5 above.


## Related topics

- [Data License Ingestion](/docs/data-license-ingestion.md)
- [Receiving and Updating Data](/docs/receiving-and-updating-data.md)
- [Data Delivery Using S3](/docs/data-delivery-using-s3.md)
- [Data Delivery Using GCP](/docs/data-delivery-using-gcp.md)
- [Data Delivery Using Azure](/docs/data-delivery-using-azure.md)
