Erstellen und Verwalten von Freigaben für Delta Sharing
In diesem Artikel wird erläutert, wie Sie Freigaben für Delta Sharing erstellen und verwalten.
Eine Freigabe ist ein sicherungsfähiges Objekt in Unity Catalog, das Sie zum Freigeben der folgenden Datenressourcen für einen oder mehrere Empfänger verwenden können:
- Tabellen und Tabellenpartitionen
- Ansichten, einschließlich dynamischer Ansichten, die den Zugriff auf Zeilen- und Spaltenebene beschränken
- Volumes
- Notebooks
- KI-Modelle
Wenn Sie ein gesamtes Schema (Datenbank) freigeben, kann der Empfänger auf alle Tabellen, Ansichten, Modelle und Volumes im Schema zugreifen, während Sie es freigeben, zusammen mit allen Daten und KI-Ressourcen, die dem Schema in Zukunft hinzugefügt werden.
Eine Freigabe kann nur Daten- und KI-Ressourcen aus einem Unity Catalog-Metastore enthalten. Sie können Daten- und KI-Ressourcen jederzeit zu einer Freigabe hinzufügen oder sie daraus entfernen.
Weitere Informationen finden Sie unter Freigaben, Anbieter und Empfänger.
Anforderungen
Um eine Freigabe zu erstellen, müssen Sie:
- Ein Metastore-Administrator sein oder über die Berechtigung
CREATE SHARE
für den Unity Catalog-Metastore verfügen, in dem die freizugebenden Daten registriert sind. - Die Freigabe mit einem Azure Databricks-Arbeitsbereich erstellen, an den dieser Unity Catalog-Metastore angefügt ist.
Zum Hinzufügen von Tabellen oder Sichten zu einer Freigabe müssen folgende Voraussetzungen erfüllt sein:
- Besitzer der Freigabe sein.
- Über die
USE CATALOG
-Berechtigung undUSE SCHEMA
-Berechtigung für den Katalog und das Schema, die die Tabelle oder Ansicht enthalten oder den Besitz des Katalogs oder Schemas verfügen. - Über die
SELECT
-Berechtigung für die Tabelle oder Ansicht verfügen. Sie müssen diese Berechtigung aufrechterhalten, damit die Tabelle oder Sicht weiterhin freigegeben werden kann. Wenn Sie die Berechtigung verlieren, kann der Empfänger nicht über die Freigabe auf die Tabelle oder Sicht zugreifen. Databricks empfiehlt daher, eine Gruppe als Freigabebesitzer zu verwenden.
Zum Hinzufügen von Volumes zu einer Freigabe müssen Sie:
- Besitzer der Freigabe sein.
- Über die
USE CATALOG
-Berechtigung undUSE SCHEMA
-Berechtigung für den Katalog und das Schema, die die Volume enthalten oder den Besitz des Katalogs oder Schemas verfügen. - Besitzer der
READ VOLUME
-Berechtigung für das Volume sein. Sie müssen diese Berechtigung aufrechterhalten, damit die Volume weiterhin freigegeben werden kann. Wenn Sie die Berechtigung verlieren, kann der Empfänger nicht über die Freigabe auf die Volume zugreifen. Databricks empfiehlt daher, eine Gruppe als Freigabebesitzer zu verwenden.
Um einer Freigabe Modelle hinzuzufügen, müssen Sie:
- Besitzer der Freigabe sein.
- Über die
USE CATALOG
- undUSE SCHEMA
-Berechtigungen für den Katalog und das Schema verfügen, welche das Modell enthalten oder der Besitzer des Katalogs oder Schemas sein. - Über die
EXECUTE
-Berechtigung für das Modell verfügen. Sie müssen diese Berechtigung behalten, damit das Modell weiterhin freigegeben werden kann. Wenn Sie die Berechtigung verlieren, können Empfänger*innen nicht über die Freigabe auf das Modell zugreifen. Databricks empfiehlt daher, eine Gruppe als Freigabebesitzer zu verwenden.
Um ein gesamtes Schema zu teilen, müssen Sie:
- Besitzer der Freigabe oder Besitzer des Schema sein oder folgendes besitzen
USE SCHEMA.
- Über
SELECT
für das Schema zum Freigeben von Tabellen verfügen. - Über
READ VOLUME
für das Schema zum Freigeben von Volumes verfügen.
Um Notebook-Dateien zu einer Freigabe hinzuzufügen, müssen Sie folgende Rolle haben:
- Freigabebesitzer mit der KANN LESEN-Berechtigung für das Notebook.
Um dem Empfänger Zugriff auf eine Freigabe zu gewähren, müssen Sie eine der folgenden Rollen haben:
- Metastore-Administrator.
- Benutzer mit delegierten Berechtigungen oder Eigentum sowohl für die Freigabe als auch für die Empfängerobjekte ((
USE SHARE
+SET SHARE PERMISSION
) oder Freigabebesitzer) UND (USE RECIPIENT
oder Empfängerbesitzer).
Um Freigaben anzeigen zu können, müssen Sie eine der folgenden Rollen haben:
- Ein Metastoreadministrator (kann alle anzeigen)
- Ein Benutzer mit der Berechtigung
USE SHARE
(kann alle anzeigen) - Der Besitzer des Freigabeobjekts
Computeanforderungen:
- Wenn Sie zum Erstellen der Freigabe ein Databricks-Notebook verwenden, muss Ihr Cluster mindestens über Databricks Runtime 11.3 LTS oder höher verfügen und entweder den gemeinsamen Clusterzugriffsmodus oder den Clusterzugriffsmodus für Einzelbenutzer verwenden.
- Wenn Sie SQL-Anweisungen verwenden, um einer Freigabe ein Schema hinzuzufügen (oder um ein Schema zu aktualisieren oder zu entfernen), müssen Sie ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher verwenden. Die gleiche Vorgehensweise mit dem Katalog-Explorer hat keine Computeanforderungen.
Erstellen eines Freigabeobjekts
Zum Erstellen einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl CREATE SHARE
in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Metastore-Administrator oder Benutzer mit der Berechtigung CREATE SHARE
für den Metastore
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Klicken Sie auf der Registerkarte Von mir freigegeben auf die Schaltfläche Daten freigeben.
Geben Sie auf der Seite Freigabe erstellen den Namen der Freigabe und einen optionalen Kommentar ein.
Klicken Sie auf Speichern und fortfahren.
Sie können weiterhin Datenressourcen hinzufügen, oder Sie können den Vorgang beenden und später zurückkehren.
Wählen Sie auf der Registerkarte Datenressourcen hinzufügen die Tabellen, Volumes, Ansichten und Modelle aus, die Sie freigeben möchten.
Ausführliche Anweisungen finden Sie unter:
Klicken Sie auf Speichern und fortfahren.
Wählen Sie auf der Registerkarte Notebooks hinzufügen die freizugebenden Notebooks aus.
Ausführliche Anweisungen finden Sie unter Hinzufügen von Notebook-Dateien zu einer Freigabe.
Klicken Sie auf Speichern und fortfahren.
Wählen Sie auf der Registerkarte Empfänger hinzufügen die Empfänger aus, für die Sie Elemente freigeben möchten.
Ausführliche Anweisungen finden Sie unter Verwalten des Zugriffs auf Delta Sharing-Datenfreigaben (für Anbieter).
Klicken Sie auf Daten freigeben, um die Daten für die Empfänger freizugeben.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:
CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];
Jetzt können Sie der Freigabe Tabellen, Volumes, Ansichten und Modelle hinzufügen.
Ausführliche Anweisungen finden Sie unter:
- Hinzufügen von Tabellen zu einer Freigabe
- Hinzufügen von Volumes zu einer Freigabe
- Hinzufügen von Sichten zu einer Freigabe
- Hinzufügen von Modellen zu einer Freigabe
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks shares create <share-name>
Sie können --comment
verwenden, um einen Kommentar hinzuzufügen oder --json
, um der Freigabe Objekte hinzuzufügen. Weitere Informationen finden Sie in den folgenden Abschnitten.
Jetzt können Sie der Freigabe Tabellen, Volumes, Ansichten und Modelle hinzufügen.
Ausführliche Anweisungen finden Sie unter:
- Hinzufügen von Tabellen zu einer Freigabe
- Hinzufügen von Volumes zu einer Freigabe
- Hinzufügen von Sichten zu einer Freigabe
- Hinzufügen von Modellen zu einer Freigabe
Hinzufügen von Tabellen zu einer Freigabe
Zum Hinzufügen von Tabellen zu einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Hinweis
Tabellenkommentare, Spaltenkommentare und Primärschlüsseleinschränkungen sind in Freigaben enthalten, die für einen Empfänger mithilfe der Databricks-zu-Databricks-Freigabe am oder nach dem 25. Juli 2024 freigegeben werden. Wenn Sie mit der Freigabe von Kommentaren und Einschränkungen über eine Freigabe beginnen möchten, die vor dem Veröffentlichungsdatum für einen Empfänger freigegeben wurde, müssen Sie den Empfängerzugriff widerrufen und erneut gewähren, um die Freigabe von Kommentaren und Einschränkungen auszulösen.
Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts, USE CATALOG
und USE SCHEMA
für den Katalog und das Schema, das die Tabelle enthält, und die SELECT
Berechtigung für die Tabelle. Sie müssen die Berechtigung SELECT
so lange behalten, wie Sie die Tabelle freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.
Hinweis
Wenn Sie ein Arbeitsbereichsadministrator sind und die Berechtigungen USE SCHEMA
und USE CATALOG
für das Schema und den Katalog geerbt haben, die die Tabelle aus der Arbeitsbereichsadministratorgruppe enthalten, können Sie die Tabelle nicht zu einer Freigabe hinzufügen. Sie müssen sich zunächst selbst die Berechtigungen USE SCHEMA
und USE CATALOG
für das Schema und den Katalog erteilen.
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, der Sie eine Tabelle hinzufügen möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Ressourcen verwalten > Datenressourcen hinzufügen.
Wählen Sie auf der Seite Tabellen hinzufügen entweder ein gesamtes Schema (Datenbank) oder einzelne Tabellen und Sichten aus.
Um eine Tabelle oder Sicht auszuwählen, wählen Sie zuerst den Katalog und dann das Schema aus, das die Tabelle oder Sicht enthält. Anschließend wählen Sie die Tabelle oder Sicht selbst aus.
Sie können mithilfe der Arbeitsbereichssuche anhand des Namens, Spaltennamens oder Kommentars nach Tabellen suchen. Weitere Informationen finden Sie unter Suchen nach Arbeitsbereichsobjekten.
Um ein Schema auszuwählen, wählen Sie zuerst den Katalog und dann das Schema aus.
Ausführliche Informationen zum Freigeben von Schemas finden Sie unter Hinzufügen von Schemas zu einer Freigabe.
(Optional) Klicken Sie auf Erweiterte Tabellenoptionen, um die folgenden Optionen anzugeben. Alias und Partitionen sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen. Der Tabellenverlauf ist standardmäßig enthalten, wenn Sie ein gesamtes Schema auswählen.
Alias: Ein alternativer Tabellenname, um den Tabellennamen besser lesbar zu machen. Der Alias ist der Tabellenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Tabellennamen nicht verwenden, wenn ein Alias angegeben ist.
Partition: Teilen Sie nur einen Teil der Tabelle. Beispielsweise
(column = 'value')
. Weitere Informationen finden Sie unter Angeben der freizugebenden Tabellenpartitionen und Verwenden von Empfängereigenschaften zum Durchführen der Partitionsfilterung.Verlaufsfreigabe: Geben Sie den Tabellenverlauf frei, damit Empfänger Zeitreiseabfragen ausführen oder die Tabelle mit Spark Structured Streaming lesen können. Erfordert Databricks Runtime 12.2 LTS oder höher.
Hinweis
Wenn Ihre Kund*innen zusätzlich zu Zeitreiseabfragen und Streaming-Lesevorgängen in der Lage sein sollen, den Änderungsdatenfeed (CDF) einer Tabelle mithilfe der table_changes()-Funktion abzufragen, müssen Sie CDF für die Tabelle aktivieren, bevor Sie sie
WITH HISTORY
freigeben.
Klicken Sie auf Speichern.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus, um eine Tabelle hinzuzufügen:
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name> [COMMENT "<comment>"]
[PARTITION(<clause>)] [AS <alias>]
[WITH HISTORY | WITHOUT HISTORY];
Führen Sie Folgendes aus, um ein gesamtes Schema hinzuzufügen. Der Befehl ADD SCHEMA
erfordert ein SQL Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher. Ausführliche Informationen zum Freigeben von Schemas finden Sie unter Hinzufügen von Schemas zu einer Freigabe.
ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];
Folgende Optionen stehen zur Auswahl. PARTITION
und AS <alias>
sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen. WITH HISTORY
wird standardmäßig für alle Tabellen ausgewählt, wenn Sie ein gesamtes Schema auswählen.
PARTITION(<clause>)
: Wenn Sie nur einen Teil der Tabelle freigeben möchten, können Sie eine Partition angeben. Sie finden(column = 'value')
beispielsweise unter Angeben der freizugebenden Tabellenpartitionen und Verwenden von Empfängereigenschaften zum Durchführen der Partitionsfilterung.AS <alias>
: Ein alternativer Tabellenname oder Alias, um einen besser lesbaren Tabellennamen zu verwenden. Der Alias ist der Tabellenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Tabellennamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format<schema-name>.<table-name>
.WITH HISTORY
oderWITHOUT HISTORY
: WennWITH HISTORY
angegeben ist, geben Sie die Tabelle mit dem vollständigen Verlauf frei, sodass Empfänger Zeitreiseabfragen und Streaming für Lesevorgänge ausführen können. Das Standardverhalten für die Tabellenfreigabe istWITHOUT HISTORY
und für die SchemafreigabeWITH HISTORY
. Erfordert Databricks Runtime 12.2 LTS oder höher.Hinweis
Wenn Ihre Kund*innen zusätzlich zu Zeitreiseabfragen und Streaming-Lesevorgängen in der Lage sein sollen, den Änderungsdatenfeed (CDF) einer Tabelle mithilfe der table_changes()-Funktion abzufragen, müssen Sie CDF für die Tabelle aktivieren, bevor Sie sie
WITH HISTORY
freigeben.
Weitere Informationen zu ALTER SHARE
-Optionen finden Sie unter ALTER SHARE.
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie zum Hinzufügen einer Tabelle über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Um ein Schema hinzuzufügen, führen Sie den folgenden Databricks CLI-Befehl aus:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<schema-full-name>",
"data_object_type": "SCHEMA"
}
}
]
}'
Hinweis
Bei Tabellen und nur bei Tabellen können Sie "data_object_type"
auslassen.
Weitere Informationen zu den Optionen in diesem Beispiel finden Sie in den Anweisungen auf der SQL-Registerkarte.
Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help
aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Informationen zum Entfernen von Tabellen aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.
Angeben der freizugebenden Tabellenpartitionen
Wenn Sie beim Hinzufügen einer Tabelle zu einer Freigabe nur einen Teil der Tabelle freigeben möchten, können Sie eine Partition angeben. Sie können Partitionen angeben, wenn Sie einer Freigabe eine Tabelle hinzufügen oder diese aktualisieren, indem Sie den Katalog-Explorer, die Databricks Unity Catalog-CLI oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden. Siehe Hinzufügen von Tabellen zu einer Freigabe und Aktualisieren von Freigaben.
Einfaches Beispiel
Das folgende SQL-Beispiel wird ein Teil der Daten in der Tabelle inventory
freigegeben, partitioniert nach den Spalten year
, month
und date
:
- Daten für das Jahr 2021
- Daten für Dezember 2020
- Daten für den 25. Dezember 2019
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
(year = "2020", month = "Dec"),
(year = "2019", month = "Dec", date = "2019-12-25");
Verwenden von Empfängereigenschaften zum Durchführen der Partitionsfilterung
Sie können eine Tabellenpartition freigeben, die Eigenschaften des Datenempfängers entspricht (wird auch als parametrisierte Partitionsfreigabe bezeichnet).
Zu den Standardeigenschaften gehören:
databricks.accountId
: Das Azure Databricks-Konto, zu dem ein Datenempfänger gehört (nur Databricks-zu-Databricks-Freigabe).databricks.metastoreId
: Der Unity Catalog-Metastore, zu dem ein Datenempfänger gehört (nur Databricks-zu-Databricks-Freigabe).databricks.name
: Der Name des Datenempfängers.
Sie können eine beliebige benutzerdefinierte Eigenschaft erstellen, wenn Sie einen Empfänger erstellen oder aktualisieren.
Die Filterung nach Empfängereigenschaft ermöglicht es Ihnen, dieselben Tabellen mit derselben Freigabe für mehrere Databricks-Konten, Arbeitsbereiche und Benutzer gemeinsam zu nutzen, während Sie die Datengrenzen zwischen ihnen aufrechterhalten.
Wenn Ihre Tabellen beispielsweise eine Azure Databricks-Konto-ID-Spalte enthalten, können Sie eine einzelne Freigabe mit Tabellenpartitionen erstellen, die durch die Azure Databricks-Konto-ID definiert ist. Bei der Freigabe übermittelt Delta Sharing jedem Empfänger dynamisch nur die Daten, die dem Azure Databricks-Konto zugeordnet sind.
Ohne die Möglichkeit, dynamisch nach Eigenschaft zu partitionieren, müssten Sie für jeden Empfänger eine separate Freigabe erstellen.
Um eine Partition anzugeben, die beim Erstellen oder Aktualisieren einer Freigabe nach Empfängereigenschaften filtert, können Sie den Katalog-Explorer oder die SQL-Funktion CURRENT_RECIPIENT
in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden:
Hinweis
Empfängereigenschaften sind in Databricks Runtime 12.2 und höher verfügbar.
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die Sie aktualisieren möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Ressourcen verwalten > Datenressourcen hinzufügen.
Wählen Sie auf der Seite Tabellen hinzufügen den Katalog und die Datenbank aus, die die Tabelle enthalten, und wählen Sie dann die Tabelle aus.
Wenn Sie nicht sicher sind, in welchem Katalog und in welcher Datenbank die Tabelle enthalten ist, können Sie mit der Arbeitsbereichssuche nach dem Namen, einem Spaltennamen oder einem Kommentar suchen. Weitere Informationen finden Sie unter Suchen nach Arbeitsbereichsobjekten.
(Optional) Klicken Sie auf Erweiterte Tabellenoptionen, um Partitionsspezifikationen hinzuzufügen.
Fügen Sie im Dialogfeld Partition zu einer Tabelle hinzufügen die eigenschaftsbasierte Partitionsspezifikation mithilfe der folgenden Syntax hinzu:
(<column-name> = CURRENT_RECIPIENT().<property-key>)
Ein auf ein Objekt angewendeter
(country = CURRENT_RECIPIENT().'country')
Klicken Sie auf Speichern.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>
PARTITION (<column-name> = CURRENT_RECIPIENT().<property-key>);
Beispiel:
ALTER SHARE acme ADD TABLE acme.default.some_table
PARTITION (country = CURRENT_RECIPIENT().'country');
Hinzufügen von Tabellen mit Löschvektoren oder Spaltenzuordnungen zu einer Freigabe
Wichtig
Dieses Feature befindet sich in der Public Preview.
Löschvektoren sind ein Feature zur Speicheroptimierung, das Sie in Delta-Tabellen aktivieren können. Weitere Informationen finden Sie unter Was sind Löschvektoren?.
Azure Databricks unterstützt auch die Spaltenzuordnung für Delta-Tabellen. Weitere Informationen finden Sie unter Rename and drop columns with Delta Lake column mapping (Umbenennen und Löschen von Spalten mit Delta Lake-Spaltenzuordnung).
Um eine Tabelle mit Löschvektoren oder Spaltenzuordnungen freizugeben, müssen Sie sie für den Verlauf freigeben. Weitere Informationen unter Hinzufügen von Tabellen zu einer Freigabe.
Wenn Sie eine Tabelle mit Löschvektoren oder Spaltenzuordnungen freigeben, können Empfänger die Tabelle mit einem SQL-Warehouse, einem Cluster mit Databricks Runtime 14.1 oder höher, das Open Source delta-sharing-spark
3.1 oder höher ausführt, abfragen oder berechnen. Siehe Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen und Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen.
Hinzufügen von Sichten zu einer Freigabe
Wichtig
Dieses Feature befindet sich in der Public Preview.
Sichten sind schreibgeschützte Objekte, die aus Tabellen oder anderen Sichten erstellt werden. Eine Sicht kann aus Tabellen und anderen Sichten erstellt werden, die in mehreren Schemas und Katalogen in einem Unity Catalog-Metastore enthalten sind. Weitere Informationen finden Sie unter Erstellen und Verwalten von Sichten.
In diesem Abschnitt wird beschrieben, wie Sie einer Freigabe mithilfe des Katalog-Explorers, Databricks-CLI oder SQL-Befehlen in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor Sichten hinzufügen. Wenn Sie die Unity Catalog REST-API verwenden möchten, lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts, USE CATALOG
und USE SCHEMA
für den Katalog und das Schema, das die Ansicht enthält, und SELECT
für die Ansicht. Sie müssen die Berechtigung SELECT
so lange behalten, wie Sie die Sicht freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.
Zusätzliche Anforderungen:
- Die Freigabe von Sichten wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
- Ansichten, die freigegeben werden können, müssen in Delta-Tabellen oder anderen gemeinsam nutzbaren Ansichten definiert werden.
- Sie können keine Ansichten freigeben, die auf gemeinsame Tabellen oder gemeinsame Ansichten verweisen.
- Sie müssen ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher verwenden, wenn Sie einer Freigabe eine Sicht hinzufügen.
- Informationen zu Anforderungen und Einschränkungen bei der Verwendung von Sichten durch Empfänger finden Sie unter Lesen freigegebener Sichten.
So fügen Sie einer Freigabe Sichten hinzu
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, der Sie eine Sicht hinzufügen möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Ressourcen verwalten > Datenressourcen hinzufügen.
Suchen Sie auf der Seite Tabellen hinzufügen nach der Sicht, die Sie freigeben möchten, und wählen Sie sie aus.
(Optional) Klicken Sie auf Erweiterte Tabellenoptionen, um einen Alias oder einen alternativen Sichtnamen anzugeben, damit der Sichtname besser lesbar ist. Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Sichtnamen nicht verwenden, wenn ein Alias angegeben ist.
Klicken Sie auf Speichern.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:
ALTER SHARE <share-name> ADD VIEW <catalog-name>.<schema-name>.<view-name>
[COMMENT "<comment>"]
[AS <alias>];
Beispiele für Optionen:
AS <alias>
: Ein alternativer Sichtname oder Alias, um einen besser lesbaren Sichtnamen zu verwenden. Der Alias ist der Sichtname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Sichtnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format<schema-name>.<view-name>
.COMMENT "<comment>"
: Kommentare werden auf der Katalog-Explorer-Benutzeroberfläche sowie beim Auflisten und Anzeigen von Sichtdetails mithilfe von SQL-Anweisungen angezeigt.
Weitere Informationen zu ALTER SHARE
-Optionen finden Sie unter ALTER SHARE.
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie den folgenden Databricks CLI-Befehl aus:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<view-full-name>",
"data_object_type": "VIEW",
"shared_as": "<view-alias>"
}
}
]
}'
"shared_as": "<view-alias>"
ist optional und stellt einen alternativen Ansichtsnamen oder Alias bereit, um den Ansichtsnamen besser lesbar zu machen. Der Alias ist der Sichtname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Sichtnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<view-name>
.
Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help
aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Informationen zum Entfernen von Ansichten aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.
Hinzufügen von dynamischen Ansichten zu einer Freigabe zum Filtern von Zeilen und Spalten
Wichtig
Dieses Feature befindet sich in der Public Preview.
Sie können dynamische Ansichten verwenden, um eine fein abgestufte Zugriffskontrolle auf Tabellendaten zu konfigurieren, einschließlich:
- Sicherheit auf Spalten- oder Zeilenebene
- Datenmaskierung
Wenn Sie eine dynamische Ansicht erstellen, die die Funktion CURRENT_RECIPIENT() verwendet, können Sie den Zugriff von Empfänger*innen anhand von Eigenschaften begrenzen, die Sie in der Empfängerdefinition angeben.
In diesem Abschnitt finden Sie Beispiele für die Einschränkung des Zugriffs von Empfänger*innen auf Tabellendaten sowohl auf Zeilen- als auch auf Spaltenebene mithilfe einer dynamischen Ansicht.
Anforderungen
- Databricks Runtime-Version: Die Funktion
CURRENT_RECIPIENT
wird in Databricks Runtime 14.2 und höher unterstützt. - Berechtigungen:
- Um eine Ansicht zu erstellen, müssen Sie Besitzer*in des Freigabeobjekts sein, die Berechtigungen
USE CATALOG
undUSE SCHEMA
für den Katalog und das Schema, das die Ansicht enthält, sowie die BerechtigungSELECT
für die Ansicht haben. Sie müssen die BerechtigungSELECT
so lange behalten, wie Sie die Sicht freigeben möchten. - Um Eigenschaften für Empfänger*innen festzulegen, müssen Sie Besitzer*in des Empfängerobjekts sein.
- Um eine Ansicht zu erstellen, müssen Sie Besitzer*in des Freigabeobjekts sein, die Berechtigungen
- Einschränkungen: Alle Einschränkungen für Ansichtsfreigaben, einschließlich Einschränkung der Databricks-zu-Databricks-Freigabe und zusätzlich:
- Wenn ein*e Anbieter*in eine Ansicht freigibt, die die Funktion
CURRENT_RECIPIENT
verwendet, kann der Anbieter bzw. die Anbieterin die Ansicht aufgrund des Freigabekontexts nicht direkt abfragen. Um eine solche dynamische Ansicht zu testen, muss der Anbieter bzw. die Anbieterin die Ansicht mit sich selbst teilen und die Ansicht als Empfänger*in abfragen. - Anbieter*innen können keine Ansicht erstellen, die auf eine dynamische Ansicht verweist.
- Wenn ein*e Anbieter*in eine Ansicht freigibt, die die Funktion
Festlegen einer Empfängereigenschaft
In diesen Beispielen hat die Tabelle, die freigegeben werden soll, eine Spalte mit dem Namen country
, und nur Empfänger*innen mit der entsprechenden Eigenschaft country
können bestimmte Zeilen oder Spalten sehen.
Sie können die Empfängereigenschaften mit dem Katalog-Explorer oder mit SQL-Befehlen in einem Azure Databricks Notebook oder dem SQL-Abfrage-Editor festlegen.
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Empfänger*in den Empfänger bzw. die Empfängerin, dem bzw. der Sie die Eigenschaften hinzufügen möchten, und klicken Sie auf den entsprechenden Namen.
Klicken Sie auf Eigenschaften bearbeiten.
Geben Sie im Dialogfeld Empfängereigenschaften bearbeiten den Spaltennamen als Schlüssel (in diesem Fall
country
) und den Wert, nach dem Sie filtern möchten, als Wert ein (zum BeispielCA
).Klicken Sie auf Speichern.
SQL
Verwenden Sie ALTER RECIPIENT
, um die Eigenschaft für den Empfänger bzw, die Empfängerin festzulegen. In diesem Beispiel wurde die Eigenschaft country
auf CA
festgelegt.
ALTER RECIPIENT recipient1 SET PROPERTIES ('country' = 'CA');
Erstellen einer dynamischen Ansicht mit Berechtigungen auf Zeilenebene für Empfänger*innen
In diesem Beispiel können nur Empfänger*innen mit einer entsprechenden Eigenschaft country
bestimmte Zeilen anzeigen.
CREATE VIEW my_catalog.default.view1 AS
SELECT * FROM my_catalog.default.my_table
WHERE country = CURRENT_RECIPIENT('country');
Eine andere Möglichkeit besteht darin, dass der Datenanbieter bzw. die Datenanbieterin eine separate Zuordnungstabelle pflegt, in der die Felder der Faktentabelle den Empfängereigenschaften zugeordnet werden. Dadurch können die Empfängereigenschaften und die Felder der Faktentabelle entkoppelt werden, was eine größere Flexibilität ermöglicht.
Erstellen einer dynamischen Ansicht mit Berechtigungen auf Spaltenebene für Empfänger*innen
In diesem Beispiel können nur Empfänger*innen mit einer entsprechenden Eigenschaft country
bestimmte Spalten anzeigen. Andere sehen die zurückgegebenen Daten als REDACTED
:
CREATE VIEW my_catalog.default.view2 AS
SELECT
CASE
WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
ELSE 'REDACTED'
END AS pii
FROM my_catalog.default.my_table;
Freigeben der dynamischen Ansicht für eine*n Empfänger*in
Um die dynamische Ansicht für eine*n Empfänger*in freizugeben, verwenden Sie die gleichen SQL-Befehle oder UI-Prozeduren wie für eine Standardansicht. Siehe Hinzufügen von Ansichten zu einer Freigabe.
Hinzufügen von Volumes zu einer Freigabe
Volumes sind Unity Catalog-Objekte, die ein logisches Speichervolume an einem Speicherort für Cloudobjekte darstellen. Sie sollen in erster Linie Governance über nicht tabellarische Datenressourcen bereitstellen. Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes?.
In diesem Abschnitt wird beschrieben, wie Sie einer Freigabe mithilfe des Katalog-Explorers, der Databricks-CLI oder SQL-Befehlen in einem Azure Databricks-Notebook oder im SQL-Abfrage-Editor Volumes hinzufügen. Wenn Sie die Unity Catalog REST-API verwenden möchten, lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Hinweis
Volumenkommentare sind in Freigaben enthalten, die für einen Empfänger mit Databricks-to-Databricks-Freigabe am oder nach dem 25. Juli 2024 freigegeben werden. Wenn Sie mit der Freigabe von Kommentaren über eine Freigabe beginnen möchten, die vor dem Veröffentlichungsdatum für einen Empfänger freigegeben wurde, müssen Sie den Empfängerzugriff widerrufen und erneut gewähren, um die Kommentarfreigabe auszulösen.
Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts, USE CATALOG
und USE SCHEMA
für den Katalog und das Schema, das die Volume enthält, und READ VOLUME
für die Volume. Sie müssen die Berechtigung READ VOLUME
so lange behalten, wie Sie das Volume freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.
Zusätzliche Anforderungen:
- Die Freigabe von Volume wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
- Sie müssen ein SQL-Warehouse auf Version 2023.50 oder höher oder einen Cluster unter Databricks Runtime 14.1 oder höher verwenden, wenn Sie einer Freigabe eine Volume hinzufügen.
- Wenn der Volumespeicher auf der Anbieterseite über benutzerdefinierte Netzwerkkonfigurationen verfügt (z. B. eine Firewall oder eine private Verbindung), muss der Anbieter sicherstellen, dass die Steuerebene und die Datenebenenadressen des Empfängers ordnungsgemäß zugelassen sind, um eine Verbindung mit dem Speicherort des Volumes herstellen zu können.
So fügen Sie Volumes zu einer Freigabe hinzu:
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, der Sie ein Volume hinzufügen möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.
Suchen Sie auf der Seite Ressourcen bearbeiten nach der Volume, die Sie freigeben möchten, und wählen Sie sie aus.
Alternativ können Sie das gesamte Schema auswählen, das das Volume enthält. Weitere Informationen finden Sie unter Hinzufügen von Schemas zu einer Freigabe.
(Optional) Klicken Sie auf Erweiterte Optionen, um einen alternativen Volumenamen oder Aliasanzugeben, um den Volumenamen besser lesbar zu machen.
Aliase sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen.
Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Volumenamen nicht verwenden, wenn ein Alias angegeben ist.
Klicken Sie auf Speichern.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:
ALTER SHARE <share-name> ADD VOLUME <catalog-name>.<schema-name>.<volume-name>
[COMMENT "<comment>"]
[AS <alias>];
Beispiele für Optionen:
AS <alias>
: Ein alternativer Volumename oder Alias, um den Volumenamen besser lesbar zu machen. Der Alias ist der Volumenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Volumenamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format<schema-name>.<volume-name>
.COMMENT "<comment>"
: Kommentare werden auf der Katalog-Explorer-Benutzeroberfläche sowie beim Auflisten und Anzeigen von Volumedetails mithilfe von SQL-Anweisungen angezeigt.
Weitere Informationen zu ALTER SHARE
-Optionen finden Sie unter ALTER SHARE.
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie den folgenden Befehl mit Databricks CLI 0.210 oder höher aus:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
"string_shared_as": "<volume-alias>"
ist optional und stellt einen alternativen Volumenamen oder Alias bereit, um den Volumenamen besser lesbar zu machen. Der Alias ist der Volumenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Volumenamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<volume-name>
.
Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help
aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Informationen zum Entfernen von Volumes aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.
Hinzufügen von Modellen zu einer Freigabe
In diesem Abschnitt wird beschrieben, wie Sie einer Freigabe mithilfe des Katalog-Explorers, der Databricks-CLI oder von SQL-Befehlen in einem Azure Databricks-Notebook oder im SQL-Abfrage-Editor Modelle hinzufügen. Wenn Sie die Unity Catalog REST-API verwenden möchten, lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Hinweis
Modellkommentare und Modellversionskommentare sind in Freigaben enthalten, die mithilfe der Databricks-zu-Databricks-Freigabe freigegeben werden.
Erforderliche Berechtigungen: Besitzer des Freigabeobjekts, USE CATALOG
und USE SCHEMA
für den Katalog und das Schema, welche das Modell enthalten, und EXECUTE
für das Modell. Sie müssen die Berechtigung EXECUTE
so lange behalten, wie Sie das Modell freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.
Zusätzliche Anforderungen:
- Die Modellfreigabe wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
- Sie müssen ein SQL-Warehouse auf Version 2023.50 oder höher oder einen Cluster unter Databricks Runtime 14.0 oder höher verwenden, wenn Sie einer Freigabe ein Modell hinzufügen.
So fügen Sie einer Freigabe Modelle hinzu:
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, der Sie ein Modell hinzufügen möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.
Suchen Sie auf der Seite Ressourcen bearbeiten nach dem Modell, das Sie freigeben möchten, und wählen Sie es aus.
Alternativ können Sie das gesamte Schema auswählen, welches das Modell enthält. Weitere Informationen finden Sie unter Hinzufügen von Schemas zu einer Freigabe.
(Optional) Klicken Sie auf Erweiterte Optionen, um einen alternativen Modellnamen (oder Alias) anzugeben, um den Modellnamen besser lesbar zu machen.
Aliase sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen.
Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger*innen können den tatsächlichen Modellnamen nicht verwenden, wenn ein Alias angegeben ist.
Klicken Sie auf Speichern.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:
ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<model-name>
[COMMENT "<comment>"]
[AS <alias>];
Beispiele für Optionen:
AS <alias>
: Ein alternativer Modellname (oder Alias), um den Modellnamen besser lesbar zu machen. Der Alias ist der Modellname, den Empfänger*innen sehen und in Abfragen verwenden müssen. Empfänger*innen können den tatsächlichen Modellnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format<schema-name>.<model-name>
.COMMENT "<comment>"
: Kommentare erscheinen auf der Katalog-Explorer-Benutzeroberfläche sowie beim Auflisten und Anzeigen von Modelldetails mithilfe von SQL-Anweisungen.
Weitere Informationen zu ALTER SHARE
-Optionen finden Sie unter ALTER SHARE.
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie den folgenden Befehl mit Databricks CLI 0.210 oder höher aus:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<model-full-name>",
"data_object_type": "MODEL",
"string_shared_as": "<model-alias>"
}
}
]
}'
"string_shared_as": "<model-alias>"
ist optional und stellt einen alternativen Modellnamen (oder Alias) bereit, um den Modellnamen besser lesbar zu machen. Der Alias ist der Modellname, den Empfänger*innen sehen und in Abfragen verwenden müssen. Empfänger*innen können den tatsächlichen Modellnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<model-name>
.
Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help
aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Informationen zum Entfernen von Modellen aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.
Hinzufügen von Schemas zu einer Freigabe
Wenn Sie einer Freigabe ein gesamtes Schema hinzufügen, haben Ihre Empfänger nicht nur Zugriff auf alle Datenressourcen im Schema zum Zeitpunkt der Freigabeerstellung, sondern auch auf alle Ressourcen, die dem Schema im Laufe der Zeit hinzugefügt werden. Dazu gehören alle Tabellen, Ansichten und Volumes im Schema. Auf diese Weise freigegebene Tabellen enthalten immer den vollständigen Verlauf.
Das Hinzufügen, Aktualisieren oder Entfernen von Schemas in einer Freigabe mithilfe von SQL erfordert ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher. Die gleiche Vorgehensweise mit dem Katalog-Explorer hat keine Computeanforderungen.
Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts und Besitzer*in des Schemas (oder ein*e Benutzer*in mit den Berechtigungen USE SCHEMA
und SELECT
für das Schema).
Um einer Freigabe ein Schema hinzuzufügen, befolgen Sie die Anweisungen unter Hinzufügen von Tabellen zu einer Freigabe. Achten Sie dabei auf den Inhalt, in dem das Hinzufügen eines Schemas erläutert wird.
Tabellenaliase, Partitionen und Volumealiase sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen. Wenn Sie Aliase oder Partitionen für Ressourcen im Schema erstellt haben, werden diese entfernt, wenn Sie das gesamte Schema zur Freigabe hinzufügen.
Wenn Sie erweiterte Optionen für eine Tabelle oder Volume angeben möchten, die Sie mithilfe der Schemafreigabe freigeben möchten, müssen Sie die Tabelle oder Volume mithilfe von SQL freigeben und der Tabelle oder Volume einen Alias mit einem anderen Schemanamen zuweisen.
Hinzufügen von Notebook-Dateien zu einer Freigabe
Verwenden Sie den Katalog-Explorer, um einer Freigabe eine Notebook-Datei hinzuzufügen.
Hinweis
Um Notebooks freizugeben, muss Ihr Metastore über Speicher auf Metastoreebene verfügen.
Erforderliche Berechtigungen: Besitzer des Freigabeobjekts mit der KANN LESEN-Berechtigung für das Notebook, das Sie freigeben möchten.
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, der Sie ein Notebook hinzufügen möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Assets verwalten, und wählen Sie Notebook-Datei hinzufügen aus.
Klicken Sie auf der Seite Notebook-Datei hinzufügen auf das Dateisymbol, um nach dem Notizbuch zu suchen, das Sie freigeben möchten.
Klicken Sie auf die Datei, die Sie freigeben möchten, und dann auf Auswählen.
(Optional) Geben Sie im Feld Freigeben als einen benutzerfreundlichen Alias für die Datei an. Dies ist der Bezeichner, der Empfängern angezeigt wird.
Klicken Sie auf Speichern.
Die freigegebene Notebook-Datei wird jetzt in der Liste Notebook-Dateien auf der Registerkarte Assets angezeigt.
Entfernen von Notebook-Dateien aus Freigaben
So entfernen Sie eine Notebook-Datei aus einer Freigabe:
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die das Notebook enthält, und klicken Sie auf den Freigabenamen.
Suchen Sie auf der Registerkarte Assets nach der Notebook-Datei, die Sie aus der Freigabe entfernen möchten.
Wählen Sie rechts neben der Zeile das Kebab-Menü aus, und wählen Sie Notebookdatei löschen aus.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
Aktualisieren von Notebook-Dateien in Freigaben
Um ein bereits freigegebenes Notebook zu aktualisieren, müssen Sie es erneut hinzufügen und im Feld Freigeben als einen neuen Alias vergeben. Databricks empfiehlt, einen Namen zu verwenden, der die verdeutlicht, dass das Notebook überarbeitet wurde, z. B. <old-name>-update-1
. Möglicherweise müssen Sie den Empfänger über die Änderung benachrichtigen. Der Empfänger muss das neue Notebook auswählen und klonen, um das Update nutzen zu können.
Gewähren von Zugriff auf eine Freigabe für Empfänger
Wenn Sie Empfängern Zugriff auf eine Freigabe gewähren möchten, können Sie hierzu den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl GRANT ON SHARE
in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Eine der folgenden Berechtigungen:
- Metastore-Administrator.
- Delegierte Berechtigungen oder Besitz sowohl für die Freigabe als auch für die Empfängerobjekte ((
USE SHARE
+SET SHARE PERMISSION
) oder Besitzer der Freigabe) UND (USE RECIPIENT
oder Besitzer des Empfängers).
Anweisungen finden Sie unter Verwalten des Zugriffs auf Delta Sharing-Datenfreigaben (für Anbieter). In diesem Artikel wird auch erläutert, wie Sie den Zugriff eines Empfängers für eine Freigabe widerrufen können.
Anzeigen von Freigaben und Freigabedetails
Zum Anzeigen einer Liste der Freigaben oder von Details zu einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Die zurückgegebene Freigabeliste hängt von Ihrer Rolle und Ihren Berechtigungen ab. Metastore-Administratoren und Benutzer mit dem Recht USE SHARE
sehen alle Freigaben. Andernfalls können Sie nur die Freigaben sehen, für die Sie als Besitzer des Freigabeobjekts fungieren.
Zu den Details gehören:
- Freigabebesitzer, Ersteller, Zeitstempel der Erstellung, Updater, Zeitstempel der Aktualisierung, Kommentare
- Datenressourcen in der Freigabe.
- Empfänger mit Zugriff auf die Freigabe
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Öffnen Sie die Registerkarte Freigaben, um eine Liste der Freigaben anzuzeigen.
Zeigen Sie Freigabedetails auf der Registerkarte Details an.
SQL
Führen Sie zum Anzeigen einer Liste der Freigaben in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus. Optional können Sie <pattern>
durch ein LIKE
-Prädikat ersetzen.
SHOW SHARES [LIKE <pattern>];
Führen Sie den folgenden Befehl aus, um Details zu einer bestimmten Freigabe anzuzeigen.
DESCRIBE SHARE <share-name>;
Führen Sie den folgenden Befehl aus, um Details zu allen Tabellen, Ansichten und Volumes in einer Freigabe anzuzeigen.
SHOW ALL IN SHARE <share-name>;
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie den folgenden Befehl über die Databricks CLI aus, um eine Liste der Freigaben anzuzeigen.
databricks shares list
Führen Sie den folgenden Befehl aus, um Details zu einer bestimmten Freigabe anzuzeigen.
databricks shares get <share-name>
Anzeigen der Empfänger mit Berechtigungen für eine Freigabe
Zum Anzeigen einer Liste der Freigaben, auf die ein Empfänger zugreifen darf, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW GRANTS TO RECIPIENT
in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.
Erforderliche Berechtigungen: Metastore-Administrator, das Recht USE SHARE
oder Besitzer des Freigabeobjekts.
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach dem Empfänger, und wählen Sie ihn aus.
Wechseln Sie zur Registerkarte Empfänger, um die Liste der Empfänger anzuzeigen, die auf die Freigabe zugreifen können.
SQL
Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.
SHOW GRANTS ON SHARE <share-name>;
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie über die Databricks CLI den folgenden Befehl aus.
databricks shares share-permissions <share-name>
Aktualisieren von Freigaben
Zusätzlich zum Hinzufügen von Tabellen, Ansichten, Volumes und Notebooks zu einer Freigabe können Sie Folgendes ausführen:
- Umbenennen einer Freigabe
- Entfernen Sie Tabellen, Ansichten, Volumes und Schemas aus einer Freigabe.
- Hinzufügen oder Aktualisieren eines Kommentars zu einer Freigabe
- Aktivieren oder deaktivieren Sie den Zugriff auf die Verlaufsdaten einer Tabelle, sodass Empfänger Zeitreiseabfragen oder Streaming für Lesevorgänge der Tabelle ausführen können.
- Hinzufügen, Aktualisieren oder Entfernen von Partitionsdefinitionen
- Ändern des Freigabebesitzers
Zum Durchführen dieser Aktualisierungen für Freigaben können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden. Sie können den Katalog-Explorer nicht zum Umbenennen der Freigabe verwenden.
Erforderliche Berechtigungen: Um den Freigabebesitzer zu aktualisieren, müssen Sie eine der folgenden Rollen haben: Metastoreadministrator, Besitzer des Freigabeobjekts oder Benutzer mit den Rechten USE SHARE
und SET SHARE PERMISSION
. Zum Aktualisieren des Freigabenamens müssen Sie ein Metastore-Administrator (oder ein Benutzer mit der Berechtigung CREATE_SHARE
) und der Freigabebesitzer sein. Sie müssen der Besitzer sein, um alle weiteren Freigabeeigenschaften zu aktualisieren.
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die Sie aktualisieren möchten, und klicken Sie auf ihren Namen.
Führen Sie auf der Seite mit den Freigabedetails folgende Aufgaben aus:
- Klicken Sie auf das Bearbeitungssymbol neben dem Feld „Besitzer“ oder „Kommentar“, um diese Werte zu aktualisieren.
- Wählen Sie die Kebab-Menüschaltfläche in einer Objektzeile, um sie zu entfernen.
- Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten, um alle anderen Eigenschaften zu aktualisieren:
- Um eine Ressource zu entfernen, deaktivieren Sie das Kontrollkästchen neben der Ressource.
- Um Partitionsdefinitionen hinzuzufügen, zu aktualisieren oder zu entfernen, klicken Sie auf Erweiterte Optionen.
SQL
Führen Sie die folgenden Befehle in einem Notebook oder im Databricks-SQL-Editor aus.
Umbenennen einer Freigabe:
ALTER SHARE <share-name> RENAME TO <new-share-name>;
Entfernen von Tabellen aus einer Freigabe:
ALTER SHARE share_name REMOVE TABLE <table-name>;
Entfernen von Volumes aus einer Freigabe:
ALTER SHARE share_name REMOVE VOLUME <volume-name>;
Hinzufügen oder Aktualisieren eines Kommentars zu einer Freigabe:
COMMENT ON SHARE <share-name> IS '<comment>';
Hinzufügen oder Ändern von Partitionen für eine Tabelle in einer Freigabe:
ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);
Ändern des Freigabebesitzers:
ALTER SHARE <share-name> OWNER TO '<principal>'
-- Principal must be an account-level user email address or group name.
Aktivieren der Verlaufsfreigabe für eine Tabelle:
ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;
Ausführliche Informationen zu ALTER SHARE
-Parametern finden Sie unter ALTER SHARE.
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie über die Databricks CLI die folgenden Befehle aus.
Umbenennen einer Freigabe:
databricks shares update <share-name> --name <new-share-name>
Entfernen von Tabellen aus einer Freigabe:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Entfernen Sie Volumes aus einer Freigabe (mit Databricks CLI 0.210 oder höher):
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
Hinweis
Verwenden Sie die name
-Eigenschaft, wenn kein Alias für das Volume vorhanden ist. Verwenden Sie string_shared_as
, wenn ein Alias vorhanden ist.
Hinzufügen oder Aktualisieren eines Kommentars zu einer Freigabe:
databricks shares update <share-name> --comment '<comment>'
Ändern des Freigabebesitzers:
databricks shares update <share-name> --owner '<principal>'
Der Prinzipal muss eine Benutzer-E-Mail-Adresse oder ein Gruppenname auf Kontoebene sein.
Löschen einer Freigabe
Zum Löschen einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl DELETE SHARE
in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden. Sie müssen ein Besitzer der Freigabe sein.
Wenn Sie eine Freigabe löschen, können Empfänger nicht länger auf die freigegebenen Daten zugreifen.
Erforderliche Berechtigungen: Besitzer des Freigabeobjekts.
Katalog-Explorer
Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol , und wählen Sie Delta Sharing aus.
Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die Sie löschen möchten, und klicken Sie auf ihren Namen.
Wählen Sie das Kebab-Menü und dann 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 SHARE [IF EXISTS] <share-name>;
BEFEHLSZEILENSCHNITTSTELLE (CLI)
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks shares delete <share-name>