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.
Before you begin
To manage providers in your Azure Databricks workspace:
- Your workspace must be enabled for Unity Catalog.
- To view a provider, you must be a metastore admin, or a metastore admin must grant you the
USE PROVIDER
privilege. - To create a provider, you must be a metastore admin, or a metastore admin must grant you the
CREATE PROVIDER
privilege. - To update a provider, you must be the owner of the provider object and have the
CREATE PROVIDER
privilege. For details, see Update a provider (rename, change owner, comment).
For this reason, if your workspace was created without a metastore admin, an Azure Databricks account admin must grant a user or group the metastore admin role before you can work with provider objects in Azure Databricks. See Automatic enablement of Unity Catalog and (Optional) Assign the metastore admin role.
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 an Azure 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.
Catalog Explorer
In your Azure Databricks workspace, click Catalog.
At the top of the Catalog pane, click the gear icon and select Delta Sharing.
Alternatively, from the Quick access page, click the Delta Sharing > button.
On the Shared with me tab, view all available providers.
SQL
Run the following command in a notebook or the Databricks SQL query editor. Optionally, replace <pattern>
with a LIKE
predicate.
SHOW PROVIDERS [LIKE <pattern>];
CLI
Run the following command using the Databricks CLI.
databricks 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 an Azure 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
orDATABRICKS
).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.
Catalog Explorer
In your Azure Databricks workspace, click Catalog.
At the top of the Catalog pane, click the gear icon and select Delta Sharing.
Alternatively, from the Quick access page, click the Delta Sharing > button.
On the Shared with me tab, find and select the provider.
SQL
Run the following command in a notebook or the Databricks SQL query editor.
DESC PROVIDER <provider-name>;
CLI
Run the following command using the Databricks CLI.
databricks providers get <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 an Azure Databricks notebook or the Databricks SQL query editor.
Permissions required: Metastore admin, user with the USE PROVIDER
privilege, or the provider object owner.
Catalog Explorer
In your Azure Databricks workspace, click Catalog.
At the top of the Catalog pane, click the gear icon and select Delta Sharing.
Alternatively, from the Quick access page, click the Delta Sharing > button.
On the Shared with me tab, find and select the provider.
SQL
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>];
CLI
Run the following command using the Databricks CLI.
databricks providers list-shares <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 an Azure 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 the 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.
Catalog Explorer
In your Azure Databricks workspace, click Catalog.
At the top of the Catalog pane, click the gear icon and select Delta Sharing.
Alternatively, from the Quick access page, click the Delta Sharing > button.
On the Shared with me tab, find and select the provider.
On the details page, update the owner, comment, or provider name.
To rename a provider, click the kebab menu and select Rename.
SQL
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>";
CLI
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 providers update <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 an Azure 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.
Catalog Explorer
In your Azure Databricks workspace, click Catalog.
At the top of the Catalog pane, click the gear icon and select Delta Sharing.
Alternatively, from the Quick access page, click the Delta Sharing > button.
On the Shared with me tab, find and select the provider.
Click the kebab menu and select Delete.
On the confirmation dialog, click Delete.
SQL
Run the following command in a notebook or the Databricks SQL query editor.
DROP PROVIDER [IF EXISTS] <provider-name>;
CLI
Run the following command using the Databricks CLI.
databricks providers delete <provider-name>
If the operation is successful, no results are returned.