Manage Delta Sharing providers (for data recipients)

This article describes how to use Unity Catalog to get information about data providers who are sharing data with you using Delta Sharing. It also describes what a provider object is and when you might need to create a provider object in your Unity Catalog metastore, a task that most recipients should never need to do.

Important

Data recipients must have access to a Databricks workspace that is enabled for Unity Catalog to use the functionality described in this article. This article does not apply to recipients who do not have Unity Catalog-enabled workspaces.

Do recipients need to create provider objects?

In Delta Sharing on Databricks, the term “provider” can mean both the organization that is sharing data with you and a securable object in a recipient’s Unity Catalog metastore that represents that organization. The existence of that securable object in a recipient’s Unity Catalog metastore enables recipients to manage their team’s access to shared data using Unity Catalog.

As a recipient with access to a Unity Catalog metastore, you typically do not need to create provider objects. This is because data should be shared with you using Databricks-to-Databricks sharing, and provider objects are created automatically in your Unity Catalog metastore.

Note

If you are the rare recipient on Unity Catalog who is receiving data from a provider that is not sharing from a Unity Catalog-enabled Databricks workspace, you may want to create provider objects in Unity Catalog so that you can manage that shared data using Unity Catalog. If you are in that category, you can use the POST /api/2.1/unity-catalog/providers REST API call or the Databricks CLI to create the Unity Catalog provider object. You must be a metastore admin or user with the CREATE_PROVIDER privilege for the metastore.

View providers

To view a list of available data providers, you can use Catalog Explorer, the Databricks Unity Catalog CLI, or the SHOW PROVIDERS SQL command in a Databricks notebook or the Databricks SQL query editor.

Permissions required: You must be a metastore admin or have the USE PROVIDER privilege to view all providers in the metastore. Other users have access only to the providers that they own.

  1. In your Databricks workspace, click Catalog icon Catalog.

  2. In the left pane, expand the Delta Sharing menu and select Shared with me.

  3. On the Providers tab, view all available providers.

Run the following command in a notebook or the Databricks SQL query editor. Optionally, replace <pattern> with a `LIKE` predicate.

SHOW PROVIDERS [LIKE <pattern>];

Run the following command using the Databricks CLI.

databricks unity-catalog providers list

View provider details

To view details about a provider, you can use Catalog Explorer, the Databricks Unity Catalog CLI, or the DESCRIBE PROVIDER SQL command in a Databricks notebook or the Databricks SQL query editor.

Permissions required: Metastore admin, user with the USE PROVIDER privilege, or the provider object owner.

Details include:

  • Shares shared by the provider (see View shares that a provider has shared with you).

  • The provider’s creator, creation timestamp, comments, and authentication type (TOKEN or DATABRICKS). TOKEN represents providers who have shared data with you using the Delta Sharing open sharing protocol. DATABRICKS represents providers who have shared data with you using the Databricks-to-Databricks sharing protocol.

  • If the provider uses Databricks-to-Databricks sharing: the cloud, region, and metastore ID of the provider’s Unity Catalog metastore.

  • If the provider uses open sharing: your recipient profile endpoint, which is the where the Delta Sharing sharing server is hosted.

  1. In your Databricks workspace, click Catalog icon Catalog.

  2. In the left pane, expand the Delta Sharing menu and select Shared with me.

  3. On the Providers tab, find and select the provider.

  4. View provider details on the Details tab.

Run the following command in a notebook or the Databricks SQL query editor.

DESC PROVIDER <provider-name>;

Run the following command using the Databricks CLI.

databricks unity-catalog providers get --name <provider-name>

View shares that a provider has shared with you

To view the shares that a provider has shared with you, you can use Catalog Explorer, the Databricks Unity Catalog CLI, or the SHOW SHARES IN PROVIDER SQL command in a Databricks notebook or the Databricks SQL query editor.

Permissions required: Metastore admin, user with the USE PROVIDER privilege, or the provider object owner.

  1. In your Databricks workspace, click Catalog icon Catalog.

  2. In the left pane, expand the Delta Sharing menu and select Shared with me.

  3. On the Providers tab, select the provider whose shares you want to view.

Run the following command in a notebook or the Databricks SQL query editor. Optionally, replace <pattern> with a `LIKE` predicate.

SHOW SHARES IN PROVIDER [LIKE <pattern>];

Run the following command using the Databricks CLI.

 databricks unity-catalog providers list-shares --name <provider-name>

Update a provider (rename, change owner, comment)

You can use Catalog Explorer, the Databricks Unity Catalog CLI, or the ALTER PROVIDER SQL command in a Databricks notebook or the Databricks SQL query editor to modify the provider object in your Unity Catalog metastore:

  • Rename the provider to modify the way users see the provider object in their Databricks interfaces.

  • Change the owner of the provider object.

  • Add or modify comments.

Permissions required: You must be a metastore admin or owner of the provider object to update the owner. You must be a metastore admin (or user with the CREATE_PROVIDER privilege) and provider owner to update the provider name. You must be the owner to update the comment. The initial owner is the metastore admin.

  1. In your Databricks workspace, click Catalog icon Catalog.

  2. In the left pane, expand the Delta Sharing menu and select Shared with you.

  3. On the Providers tab, find and select the provider.

  4. On the details page, update the owner, comment, or provider name.

Run the following command in a notebook or the Databricks SQL query editor.

ALTER PROVIDER <provider-name> RENAME TO <new-provider-name>
OWNER TO <new-owner>
COMMENT "<comment>";

Run the following command using the Databricks CLI. Replace <provider-name> with the current provider name and <new-provider-name> with the new name.

databricks unity-catalog providers update --name <provider-name> /
                                    --new-name <new-provider-name> /
                                    --comment "<new comment>" /
                                    --owner <new-owner-name>

Delete a provider

To delete a provider, you can use Catalog Explorer, the Databricks Unity Catalog CLI, or the DROP PROVIDER SQL command in a Databricks notebook or the Databricks SQL query editor. You must be the provider object owner to delete the provider.

When you delete a provider, you and the users in your organization (the recipient) can no longer access the data shared by the provider.

Permissions required: Provider object owner.

  1. In your Databricks workspace, click Catalog icon Catalog.

  2. In the left pane, expand the Delta Sharing menu and select Shared with you.

  3. On the Providers tab, find and select the provider.

  4. Click the Kebab menu kebab menu (also known as the three-dot menu) and select Delete.

  5. On the confirmation dialog, click Delete.

Run the following command in a notebook or the Databricks SQL query editor.

DROP PROVIDER [IF EXISTS] <provider-name>;

Run the following command using the Databricks CLI.

databricks unity-catalog providers delete --name <provider-name>

If the operation is successful, no results are returned.