Skip to main content
Select Databricks in the Inputs and/or Destination strip of the Job form. Both directions use Databricks-to-Databricks (D2D) Delta Sharing and require your workspace to be on Databricks Unity Catalog.
Databricks Delta Sharing lets a Job read its input set directly from your Unity Catalog and/or deliver its assembled output back into your Unity Catalog. Each direction is configured independently and uses opposite Delta Sharing roles:

Nimble’s global metastore ID

Both directions reference Nimble’s Unity Catalog metastore. Wherever the property tables below mention it, use:
This is a global metastore ID in the <cloud>:<region>:<uuid> form required by Databricks D2D sharing. The bare UUID is not enough.

Prerequisites

  • Databricks CLI v0.205+ authenticated against the workspace you want to share from / into. See the Databricks CLI install guide and databricks configure.
  • A metastore admin or a user with the CREATE RECIPIENT, CREATE SHARE, and CREATE CATALOG privileges on your UC metastore.

Input: share your table with Nimble

In this direction, you are the provider: you publish a Delta Sharing share whose recipient is Nimble’s metastore. On each Job run, the Job reads the current contents of the shared table.

Job form fields

Set these in the Job form under Inputs → Databricks:

One-time setup

1

Create a recipient that points to Nimble's metastore

The recipient is the Databricks-side object that grants Nimble permission to receive your shares.
You only do this once - re-use the same recipient for every additional table you share with Nimble.
2

Create a share

Pick any name you like (e.g., nimble_inbox). The Job form’s Share field will use this value.
3

Add the table to the share

Replace main.inbox.products with the fully-qualified UC name of the source table (<catalog>.<schema>.<table>). The shared_as value sets how the table appears on Nimble’s side - it must match the Schema and Table values in the Job form.
For partitioned tables or history sharing options, see the full SharedDataObject reference.
4

Grant the recipient SELECT on the share

Once this grant lands, the share becomes visible on Nimble’s metastore. No support ticket, no manual coordination - the next Job run picks up the share automatically.
Every Job run reads the latest contents of the shared table; you do not need to re-publish the share unless you change the table name or schema.

Adding more tables later

Only steps 3 and 4 need to repeat for each additional table. The recipient (step 1) and the share (step 2) are reused across tables - just ADD a new data_object and re-grant SELECT if you create a new share instead of extending the existing one.

Destination: deliver Job output to your Unity Catalog

In this direction, Nimble is the provider and you are the recipient. On the first Job run, Nimble makes the share available to your metastore (creating both the share and the recipient on demand, bound to your Metastore ID). You mount the share locally as a Unity Catalog catalog and query it like any other UC table.
Data retention: 14 days. Nimble guarantees the shared table stays queryable for at least two weeks after each successful Job run, but not longer. Beyond that window, the shared table is not guaranteed to remain available. If you need the data to persist - or want a frozen snapshot of every run - materialize it into a UC table you own. See Persisting the data.

Job form fields

Set these in the Job form under Destination → Databricks:

Finding your metastore ID

Run one of the following inside the Databricks workspace that will consume the share:
The output is the value to enter in the Metastore ID field. The format is always <cloud>:<region>:<uuid> - the bare UUID returned by older Databricks endpoints is not accepted.

One-time setup (after the first Job run)

The share becomes available to your metastore after the Job’s first successful run. After that first run completes, run the following on your Databricks workspace:
1

Confirm Nimble shows up as a provider

Once Nimble has bound the recipient to your metastore, the share becomes visible in your UC metastore as a provider. List providers to find the exact name Databricks assigned it on your side:
You can also do this in the UI: Catalog → Delta Sharing → Shared with me → Providers.
2

Inspect the share contents

Replace <provider_name> with the name from the previous step. Confirm the share you configured in the Job form is listed and contains a table named after your Shared as value.
3

Mount the share as a UC catalog

Pick any local catalog name (e.g., nimble). Once mounted, the Job’s output table is queryable as <catalog>.<shared_as>.
<share_name> is the value entered in the Job form’s Share name field. <provider_name> is the value from step 1.
4

Grant usage to your team

The mount itself only grants access to the metastore admin who created it. Open it up to consumers with UC grants:
Replace account users with whichever UC group / service principal should have read access.
5

Query the table

The fully-qualified path is <catalog>.<shared_as>. For Shared as = data.products and a catalog mounted as nimble:

Subsequent runs

Once mounted, every subsequent Job run refreshes the shared table - the catalog mount itself is permanent. Each successful run also resets the 14-day retention clock on the shared table; if a Job stops running (or runs less frequently than every two weeks), the table will eventually age out of the share. Re-run the CREATE CATALOG step only if you delete the catalog, rename Shared as on the Job, or Nimble changes the share name (which won’t happen except on your explicit request).
Changing Shared as after the first run changes the path consumers query against (e.g., from nimble.data.products to nimble.curated.products). Plan downstream queries and views accordingly - and prefer keeping Shared as stable.

Persisting the data

The shared table is only guaranteed to be queryable for 14 days after each Job run. To hold the data longer - or to keep a frozen per-run snapshot for audit / historical analysis - materialize it into a UC table you own. Two common patterns:
Wire this as a Databricks Job, a Lakeflow Declarative Pipeline, or any other UC-aware orchestrator, scheduled to run shortly after Nimble’s Job cadence. Once materialized, the data is fully under your control and survives Nimble’s retention window.
Schedule the materialization a few minutes after Nimble’s Job is expected to finish, not at the same time. If you run too early you’ll snapshot the previous run; if you run too late you stay within the 14-day window with plenty of buffer either way.

Reference summary

All connections

Browse every Job storage connector.

Amazon S3

Connect a Job via an S3 bucket policy instead.