Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf dieser Seite wird beschrieben, wie Sie mithilfe des Unity-Katalogs Informationen zu Datenanbietern abrufen können, die Daten für Sie mithilfe der Delta-Freigabe freigeben. Darüber hinaus erfahren Sie, was ein Anbieterobjekt ist und wann Sie möglicherweise ein Anbieterobjekt in Ihrem Unity Catalog-Metastore erstellen müssen. Dabei handelt es sich um eine Aufgabe, die die meisten Empfänger niemals ausführen müssen.
Wichtig
Datenempfänger müssen Zugriff auf einen Databricks-Arbeitsbereich haben, der für Unity-Katalog aktiviert ist, um die beschriebenen Funktionen zu verwenden. Diese Seite gilt nicht für Empfänger, die keinen Arbeitsbereich mit aktiviertem Unity-Katalog haben.
Müssen Empfänger Anbieterobjekte erstellen?
In Delta Sharing on Databricks kann der Begriff "Provider" sowohl die Organisation bedeuten, die Daten für Sie freigibt, als auch ein sicherungsfähiges Objekt im Unity Catalog-Metastore eines Empfängers, der diese Organisation darstellt. Das Vorhandensein dieses sicherungsfähigen Objekts im Unity Catalog-Metastore eines Empfängers ermöglicht es Empfängern, den Zugriff ihres Teams auf freigegebene Daten mithilfe des Unity-Katalogs zu verwalten.
Als Empfänger mit Zugriff auf einen Unity Catalog-Metastore müssen Sie in der Regel keine Anbieterobjekte erstellen. Dies liegt daran, dass Daten mithilfe der Databricks-zu-Databricks-Freigabe für Sie freigegeben werden sollten, und Anbieterobjekte werden automatisch in Ihrem Unity Catalog-Metastore erstellt.
Hinweis
Wenn Sie Daten von einem Anbieter erhalten, dessen Daten nicht aus einem Unity Catalog-kompatiblen Databricks-Arbeitsbereich stammen, können Sie den Katalog-Explorer nutzen, um die Zugangsdaten-Datei des Anbieters zu importieren. Weitere Informationen finden Sie unter Azure Databricks: Lesen freigegebener Daten mithilfe von Connectors für offene Freigaben.
Vorbereitung
So verwalten Sie Anbieter in Ihrem Azure Databricks-Arbeitsbereich:
- Ihr Arbeitsbereich muss für Unity Catalog aktiviert sein.
- Um einen Anbieter anzuzeigen, müssen Sie ein Metastore-Administrator sein, oder ein Metastore-Administrator muss Ihnen die
USE PROVIDER-Berechtigung gewähren. - Um einen Anbieter zu erstellen, müssen Sie ein Metastore-Administrator sein, oder ein Metastore-Administrator muss Ihnen die
CREATE PROVIDER-Berechtigung gewähren. - Um einen Anbieter zu aktualisieren, müssen Sie der Besitzer des Anbieterobjekts sein und über die
CREATE PROVIDER-Berechtigung verfügen. Weitere Informationen finden Sie unter Aktualisieren eines Anbieters (Umbenennen, Ändern des Besitzers, Kommentieren).
Aus diesem Grund muss ein Azure Databricks-Kontoadministrator einem Benutzer oder einer Gruppe die Metastore-Administratorrolle erteilen, bevor Sie mit Anbieterobjekten in Azure Databricks arbeiten können, wenn Ihr Arbeitsbereich ohne Metastore-Administrator erstellt wurde. Weitere Informationen finden Sie unter Automatische Aktivierung von Unity Catalog und (Optional) Zuweisen der Metastore-Administratorrolle.
Anzeigen von Anbietern
Um eine Liste der verfügbaren Datenanbieter anzuzeigen, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW PROVIDERS in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Sie müssen über die USE PROVIDER Berechtigung verfügen, alle Anbieter im Metastore anzuzeigen. Andere Benutzer haben nur Zugriff auf die Anbieter, die sie besitzen.
Catalog-Explorer
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Klicken Sie alternativ in der oberen rechten Ecke auf Delta Sharing>.
Zeigen Sie auf der Registerkarte " Für mich freigegeben " alle Daten an, die für Ihre Organisation freigegeben wurden. Für jede Aktie werden die folgenden Details bereitgestellt:
- Name: Der Name der Organisation, wie vom Anbieter angegeben.
- Authentifizierungstyp: Die vom Anbieter verwendete Freigabemethode.
- Eigentümer: Der Name oder die E-Mail des Anbieters.
- Erstellt am: Das Datum und die Uhrzeit, wann die Freigabe erstellt wurde.
- Beschreibung: Die Beschreibung der Freigabe.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus. Optional ersetzen Sie <pattern> durch ein LIKE Prädikat.
SHOW PROVIDERS [LIKE <pattern>];
Weitere Informationen zu SHOW PROVIDERSfinden Sie unter SHOW PROVIDERS.
Befehlszeilenschnittstelle (CLI)
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks providers list
Anzeigen von Anbieterdetails
Um eine Liste der verfügbaren Datenanbieter anzuzeigen, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl DESCRIBE PROVIDER in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Metadatenspeicher-Administrator, Benutzer mit der USE PROVIDER-Berechtigung oder der Anbieterobjektbesitzer.
Zu den Details gehören:
- Freigaben, die vom Anbieter freigegeben werden (siehe Anzeigen von Freigaben, die ein Anbieter für Sie freigegeben hat)
- Ersteller des Anbieters, Erstellungszeitstempel, Kommentare und Authentifizierungstyp (
TOKENoderDATABRICKS).TOKENstellt Anbieter dar, die Daten mit Ihnen unter Verwendung des Delta Sharing offenen Freigabeprotokolls geteilt haben.DATABRICKSstellt Anbieter dar, die Daten mit Ihnen unter Verwendung des Databricks-zu-Databricks-Freigabeprotokolls geteilt haben. - Wenn der Anbieter Databricks-zu-Databricks-Sharing verwendet: die Cloud, die Region und die Metastore-ID des Unity-Katalog-Metastores des Anbieters.
- Wenn der Anbieter die offene Freigabe verwendet: der Endpunkt des Empfängerprofils. Unter diesem wird der Delta Sharing-Freigabeserver gehostet.
Catalog-Explorer
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Klicken Sie alternativ in der oberen rechten Ecke auf Delta Sharing>.
Suchen Sie auf der Registerkarte Für mich freigegeben nach dem Anbieter, und wählen Sie ihn aus.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.
DESC PROVIDER <provider-name>;
Weitere Informationen zu DESC PROVIDERfinden Sie unter DESCRIBE PROVIDER.
Befehlszeilenschnittstelle (CLI)
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks providers get <provider-name>
Ansicht von Freigaben, die ein Anbieter mit Ihnen geteilt hat
Um die Freigaben anzuzeigen, die ein Anbieter für Sie freigegeben hat, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW SHARES IN PROVIDER in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Metadatenspeicher-Administrator, Benutzer mit der USE PROVIDER-Berechtigung oder der Anbieterobjektbesitzer.
Catalog-Explorer
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Klicken Sie alternativ in der oberen rechten Ecke auf Delta Sharing>.
Suchen Sie auf der Registerkarte Für mich freigegeben nach dem Anbieter, und wählen Sie ihn aus.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus. Optional ersetzen Sie <pattern> durch ein LIKE Prädikat.
SHOW SHARES IN PROVIDER [LIKE <pattern>];
Weitere Informationen zu SHOW SHARES IN PROVIDERfinden Sie unter SHOW SHARES IN PROVIDER.
Befehlszeilenschnittstelle (CLI)
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks providers list-shares <provider-name>
Aktualisieren eines Anbieters (Umbenennen, Besitzer ändern, Kommentar)
Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl ALTER PROVIDER in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um das Anbieterobjekt in Ihrem Unity Catalog-Metastore zu ändern:
- Benennen Sie den Anbieter um, um zu ändern, wie Benutzern das Anbieterobjekt in ihren Databricks-Schnittstellen angezeigt wird.
- Ändern Sie den Besitzer des Anbieterobjekts.
- Fügen Sie Kommentare hinzu, oder ändern Sie sie.
Erforderliche Berechtigung: Sie müssen der Besitzer des Anbieterobjekts sein, um den Besitzer zu aktualisieren. Zum Aktualisieren des Anbieternamens müssen Sie ein Metastore-Administrator (oder ein Benutzer mit der Berechtigung CREATE PROVIDER) und der Anbieterbesitzer sein. Zum Aktualisieren des Kommentars müssen Sie der Besitzer sein. Der ursprüngliche Besitzer ist der Metastore-Administrator.
Catalog-Explorer
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Klicken Sie alternativ in der oberen rechten Ecke auf Delta Sharing>.
Suchen Sie auf der Registerkarte Für mich freigegeben nach dem Anbieter, und wählen Sie ihn aus.
Aktualisieren Sie auf der Detailseite den Besitzer, den Kommentar oder den Anbieternamen.
Um einen Anbieter umzubenennen, klicken Sie auf das
Kebab-Menü, und wählen Sie "Umbenennen" aus.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.
ALTER PROVIDER <provider-name> RENAME TO <new-provider-name>
OWNER TO <new-owner>
COMMENT "<comment>";
Weitere Informationen zu ALTER PROVIDERfinden Sie unter ALTER PROVIDER.
Befehlszeilenschnittstelle (CLI)
Führen Sie über die Databricks-CLI den folgenden Befehl aus. Ersetzen Sie <provider-name> durch den aktuellen Anbieternamen und <new-provider-name> durch den neuen Namen.
databricks providers update <provider-name> /
--new-name <new-provider-name> /
--comment "<new comment>" /
--owner <new-owner-name>
Erneuern von Anmeldeinformationen für offene Empfänger
Dieser Abschnitt gilt für Anbieterobjekte mit Authentifizierungstyp TOKEN, oder OAUTH_CLIENT_CREDENTIALSOIDC_FEDERATION. Databricks-to-Databricks-Anbieter (Authentifizierungstyp DATABRICKS) werden automatisch rotiert. Wenn Sie beispielsweise mit dem delta-sharing Python oder Spark-Connector auf Daten ohne Anbieterobjekt zugreifen, wenden Sie die neue Anmeldeinformationsdatei in Ihrer Connectorkonfiguration an. Siehe Lesen von Daten, die mit Delta Sharing Open Sharing und Bearertoken freigegeben wurden.
Ein Anbieter, der das offene Freigabeprotokoll verwendet, kann Ihr Bearertoken drehen und Ihnen eine neue Anmeldeinformationsdatei senden. Verwenden Sie in diesem Fall die Databricks-REST-API, um das Anbieterobjekt zu aktualisieren. Lassen Sie den Anbieter nicht fallen und erstellen Sie ihn nicht neu, um neue Anmeldeinformationen anzuwenden. Kataloge binden an die interne ID des Anbieters, nicht an den Namen. Durch das Erneute Erstellen eines Anbieters mit demselben Namen wird die Verbindung des Katalogs mit den freigegebenen Daten unterbrochen.
ALTER PROVIDER, die Databricks CLI und der Katalog-Explorer unterstützen das Aktualisieren von Anbieteranmeldeinformationen nicht.
Aktualisieren der Anmeldeinformationen
Senden Sie eine PATCH Anforderung an den Anbieterendpunkt mit dem Inhalt der neuen Anmeldeinformationsdatei im recipient_profile_str Feld.
Erforderliche Berechtigungen: Anbieterobjektbesitzer oder Metastoreadministrator.
Python
Führen Sie das Folgende aus einem Notizbuch im Empfängerarbeitsbereich aus. Ersetzen Sie <provider-name> durch den Namen des Anbieterobjekts in Ihrem Metastore, und aktualisieren Sie new_profile mit den Werten aus der neuen Anmeldeinformationsdatei.
import json
import requests
new_profile = {
"shareCredentialsVersion": 1,
"bearerToken": "<new-bearer-token>",
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>",
}
token = (
dbutils.notebook.entry_point.getDbutils()
.notebook()
.getContext()
.apiToken()
.get()
)
workspace_url = spark.conf.get("spark.databricks.workspaceUrl")
response = requests.patch(
f"https://{workspace_url}/api/2.1/unity-catalog/providers/<provider-name>",
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
},
json={"recipient_profile_str": json.dumps(new_profile)},
)
print(response.status_code)
print(response.json())
cURL
curl --request PATCH \
--header "Authorization: Bearer $DATABRICKS_TOKEN" \
--header "Content-Type: application/json" \
--url "https://<databricks-instance>/api/2.1/unity-catalog/providers/<provider-name>" \
--data '{
"recipient_profile_str": "<contents of the new credential file>"
}'
Eine erfolgreiche Rotation gibt die folgende Antwort mit den aktualisierten Metadaten des Anbieters zurück.
{
"name": "<provider-name>",
"authentication_type": "TOKEN",
"owner": "user@example.com",
"recipient_profile": {
"share_credentials_version": 1,
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>"
},
"updated_at": 1775804332820,
"updated_by": "user@example.com",
"id": "abcd2a5b-c18e-46eb-ae11-3056cfe99bef"
}
Detaillierte Informationen finden Sie in der REST-API Update eines Anbieters.
Überprüfen der Drehung
Vergewissern Sie sich, dass auf den Katalog, schemas und Tabellen weiterhin zugegriffen werden kann. Der Katalogname sollte mit dem vor der Rotation identisch sein.
Catalog-Explorer
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Klicken Sie alternativ in der oberen rechten Ecke auf Delta Sharing>.
Suchen Sie auf der Registerkarte "Mit mir geteilt" nach Ihrem Anbieter.
Vorherige Fehlerbanner sollten nicht mehr vorhanden sein und die Aktien sollten erneut aufgelistet werden. Der aufgelistete Katalog sollte mit dem zuvor identisch sein.
SQL
Führen Sie die folgende SQL-Datei in einem Notizbuch oder im SQL-Abfrage-Editor für Databricks aus.
-- The catalog name should match what it was before rotation
SHOW CATALOGS;
-- Schemas in the shared catalog should still appear
SHOW SCHEMAS IN <catalog-name>;
-- Tables should still appear
SHOW TABLES IN <catalog-name>.<schema-name>;
-- A read from a shared table should return data
SELECT * FROM <catalog-name>.<schema-name>.<table-name> LIMIT 10;
Wenn die Abfragen erfolgreich sind, ist die Rotation abgeschlossen, und alle vorhandenen Abfragen, Aufträge und Dashboards funktionieren weiterhin.
Problembehandlung
| Fehler | Reparatur |
|---|---|
Anforderungsrückgabe 403 Forbidden |
Sie müssen der Besitzer des Anbieters oder ein Metastore-Administrator sein, um Anmeldeinformationen zu aktualisieren. Bitten Sie einen Metastore-Administrator, die Rotation durchzuführen oder den Besitz zu übertragen. Weitere Informationen finden Sie unter Aktualisieren von Freigaben. |
Anforderungsrückkehrer 404 Not Found |
Der Anbietername ist falsch. Führen Sie den Befehl aus SHOW PROVIDERS , um die genauen Namen in Ihrem Metastore auflisten. |
Anforderungsrückmeldung 400 Bad Request mit der Nachricht "Empfängerprofil kann nicht aktualisiert werden" |
Die API aktualisiert Anmeldeinformationen nur für TOKEN, OAUTH_CLIENT_CREDENTIALSund OIDC_FEDERATION Anbieter. Bei der Databricks-zu-Databricks-Freigabe werden Zugangsdaten automatisch aktualisiert. |
Abfragen werden zurückgegeben TABLE_OR_VIEW_NOT_FOUND |
Der Katalogname ist möglicherweise falsch, oder die Katalog-zu-Anbieter-Bindung ist beschädigt. Führen Sie SHOW CATALOGS und SHOW SCHEMAS IN <catalog-name> aus, um zu bestätigen, dass der Katalog existiert. |
Katalog-Explorer zeigt veraltete Daten oder Fehler nach erfolgreicher PATCH Ausführung an. |
Sie sehen zwischengespeicherte Ergebnisse von vor der Rotation. Aktualisieren Sie die Seite, oder warten Sie einige Minuten. |
Löschen eines Anbieters
Zum Löschen eines Anbieters können Sie den Katalog-Explorer, die Databricks CLI oder den SQL-Befehl DROP PROVIDER SQL in einem Azure Databricks-Notizbuch oder dem SQL-Abfrage-Editor für Databricks verwenden. Sie müssen der Besitzer des Anbieterobjekts sein, um den Anbieter löschen zu können.
Wenn Sie einen Anbieter löschen, können Sie und die Benutzer in Ihrer Organisation (der Empfänger) nicht mehr auf die vom Anbieter freigegebenen Daten zugreifen.
Erforderliche Berechtigung: Besitzer des Anbieterobjekts.
Catalog-Explorer
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Klicken Sie alternativ in der oberen rechten Ecke auf Delta Sharing>.
Suchen Sie auf der Registerkarte Für mich freigegeben nach dem Anbieter, und wählen Sie ihn aus.
Klicken Sie auf das
Kebab-Menü, und wählen Sie "Löschen" aus.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.
DROP PROVIDER [IF EXISTS] <provider-name>;
Weitere Informationen zu DROP PROVIDERfinden Sie unter DROP PROVIDER.
Befehlszeilenschnittstelle (CLI)
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks providers delete <provider-name>
Wenn der Vorgang erfolgreich ist, werden keine Ergebnisse zurückgegeben.