Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Auf dieser Seite wird erläutert, wie Sie Freigaben für Delta Sharing erstellen und verwalten.
Eine Freigabe ist ein zugriffssicheres Objekt im Unity-Katalog, das Sie zum Freigeben der folgenden Datenbestände für einen oder mehrere Empfänger verwenden:
- Tabellen und Tabellenpartitionen
- Streamingtabellen
- Verwaltete Iceberg-Tabellen
- Fremdschemas und Tabellen
- Ansichten, einschließlich dynamischer Ansichten, die den Zugriff auf Zeilen- und Spaltenebene beschränken
- Materialisierte Ansichten
- Volumes
- Notebooks
- KI-Modelle
Wenn Sie ein gesamtes Schema (Datenbank) freigeben, kann der Empfänger auf alle Tabellen, Streamingtabellen, Ansichten, materialisierten 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 wurden.
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.
Bevor Sie eine Freigabe erstellen, vergewissern Sie sich, dass Sie die Delta-Freigabe für Ihr Konto (als Anbieter) eingerichtet haben.
Weitere Informationen zum Freigabemodell finden Sie unter "Freigaben", "Anbieter" und "Empfänger".
Requirements
Überprüfen Sie, ob Sie die aufgeführten Anforderungen für jede Aufgabe erfüllen, die Sie ausführen möchten.
Tipp
Beim Hinzufügen von Datenbeständen zu einer Freigabe empfiehlt Databricks, eine Gruppe als Freigabebesitzer zu verwenden.
| Aufgabe | Requirements |
|---|---|
| Erstellen einer Freigabe |
|
Fügen Sie folgendes zu einer Freigabe hinzu:
|
|
| Freigeben eines gesamten Schemas oder fremder Schemas |
|
| Hinzufügen von Volumes zu einer Freigabe |
|
| Hinzufügen von Python-UDFs zu einer Freigabe |
|
| Hinzufügen von Modellen zu einer Freigabe |
|
| Notizbuchdateien zu einer Freigabe hinzufügen |
|
| Empfänger Zugriff auf eine Freigabe gewähren |
|
| Anzeigen von Freigaben |
|
| Aktualisierung des Eigentümers der Freigabe |
|
| Aktualisieren des Freigabenamens |
|
| Aktualisieren anderer Freigabeeigenschaften |
|
| Freigaben löschen |
|
Computeanforderungen
- Wenn Sie ein Databricks-Notebook zum Erstellen der Freigabe verwenden, muss Ihre Computeressource Databricks Runtime 11.3 LTS oder höher verwenden und über einen Standard- oder dedizierten Zugriffsmodus verfügen (früher freigegeben und Einzelbenutzer).
- 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
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie ein Freigabeobjekt erstellen.
Verwenden Sie zum Erstellen einer Freigabe den Katalog-Explorer, die CLI des Databricks Unity-Katalogs oder den CREATE SHARE SQL-Befehl in einem Azure Databricks-Notizbuch oder im Databricks SQL-Abfrageeditor.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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 Datenobjekte aus, die Sie freigeben möchten.
Ausführliche Anweisungen, zusätzliche Anforderungen und zugehörige Einschränkungen finden Sie unter:
- Tabellen zu einer Freigabe hinzufügen
- Hinzufügen von Streamingtabellen zu einer Freigabe
- Verwaltete Iceberg-Tabellen zu einem Share hinzufügen
- Hinzufügen fremder Schemas oder Tabellen zu einer Freigabe
- Volumen zu einem Share hinzufügen
- Ansichten zu einer Freigabe hinzufügen
- Hinzufügen von materialisierten Sichten zu einer Freigabe
- Modelle zu einer Freigabe hinzufügen
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, Streamingtabellen, Volumes, Sichten, materialisierte Sichten und Modelle hinzufügen.
Ausführliche Anweisungen, zusätzliche Anforderungen und zugehörige Einschränkungen finden Sie unter:
- Tabellen zu einer Freigabe hinzufügen
- Hinzufügen von Streamingtabellen zu einer Freigabe
- Verwaltete Iceberg-Tabellen zu einem Share hinzufügen
- Hinzufügen fremder Schemas oder Tabellen zu einer Freigabe
- Volumen zu einem Share hinzufügen
- Ansichten zu einer Freigabe hinzufügen
- Hinzufügen von materialisierten Sichten zu einer Freigabe
- Modelle zu einer Freigabe hinzufügen
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, Streamingtabellen, Volumes, Sichten, materialisierte Sichten und Modelle hinzufügen.
Ausführliche Anweisungen, zusätzliche Anforderungen und zugehörige Einschränkungen finden Sie unter:
- Tabellen zu einer Freigabe hinzufügen
- Hinzufügen von Streamingtabellen zu einer Freigabe
- Verwaltete Iceberg-Tabellen zu einem Share hinzufügen
- Hinzufügen fremder Schemas oder Tabellen zu einer Freigabe
- Volumen zu einem Share hinzufügen
- Ansichten zu einer Freigabe hinzufügen
- Hinzufügen von materialisierten Sichten zu einer Freigabe
- Modelle zu einer Freigabe hinzufügen
Tabellen zu einer Freigabe hinzufügen
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie einer Freigabe Tabellen hinzufügen.
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.
Note
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.
Wenn Sie einer Freigabe Tabellen hinzufügen möchten, verwenden Sie den Catalog Explorer, die CLI des Databricks Unity Catalog oder SQL-Befehle in einem Azure Databricks-Notizbuch oder dem Databricks SQL-Abfrage-Editor.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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 aus.
Um eine Tabelle oder Ansicht auszuwählen, wählen Sie zuerst den Katalog und dann das Schema aus, das die Tabelle enthält, und dann die Tabelle oder Ansicht selbst.
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.
Verlauf: Teilen Sie den Tabellenverlauf, damit Empfänger Zeitreiseabfragen ausführen oder die Tabelle mit Spark Structured Streaming lesen können. Bei Databricks-zu-Databricks-Freigaben wird auch das Delta-Protokoll des Tabellenprotokolls freigegeben, um die Leistung zu verbessern. Weitere Informationen finden Sie unter Verbessern der Leistung von Tabellen mit Verlaufsfreigabe. Für die Verlaufsfreigabe ist Databricks Runtime 12.2 LTS oder höher erforderlich.
Note
Wenn Ihre Kunden auch in der Lage sein sollen, den Änderungsdatenfeed (CDF) einer Tabelle mithilfe der Funktion table_changes() abzufragen, müssen Sie CDF in der Tabelle aktivieren , bevor Sie sie
WITH HISTORYfreigeben.(Optional) Klicken Sie auf
Fügen Sie unter den Spalten "Alias " oder "Partition " einen Alias oder eine Partition hinzu. 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.
- AliasEin alternativer Tabellenname, um den Tabellennamen lesbarer 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: Nur einen Teil der tabelle freigeben. Beispiel:
(column = 'value'). Weitere Informationen finden Sie unter Angeben der freizugebenden Tabellenpartitionen und Verwenden von Empfängereigenschaften zum Durchführen der Partitionsfilterung.
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.
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 den Tabellennamen lesbarer 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. Verwenden Sie das Format<schema-name>.<table-name>.WITH HISTORYoderWITHOUT HISTORY: WennWITH HISTORYangegeben ist, teilen Sie die Tabelle mit vollständiger Historie, sodass die Empfänger Zeitreise-Abfragen und Streaming-Lesevorgänge durchführen können. Für Databricks-zu-Databricks-Freigaben wird auch das Delta-Protokoll der Tabelle freigegeben, um die Leistung zu verbessern. Das Standardverhalten für die Tabellenfreigabe istWITH HISTORY, wenn ihre Berechnung Databricks Runtime 16.2 oder höher ausführt und für frühere Databricks-Runtime-VersionenWITHOUT HISTORY. Für die Schema-Freigabe ist der StandardWITH HISTORY, unabhängig von der Databricks Runtime-Version.WITH HISTORYundWITHOUT HISTORYerfordern Databricks Runtime 12.2 LTS oder höher. Weitere Informationen finden Sie auch unter Verbessern der Leistung von Tabellen mit Verlaufsfreigabe.Note
Wenn Sie zusätzlich zu Zeitreisenabfragen und Streaming-Lesevorgängen ihren Empfängern ermöglichen möchten, den Änderungsdatenfeed einer Tabelle mithilfe der Funktion table_changes() abzufragen, müssen Sie CDF in der Tabelle aktivieren , bevor Sie sie
WITH HISTORYfreigeben.
Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.
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"
}
}
]
}'
Note
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.
Geben Sie die zu freizugebenden Tabellenpartitionen an
Um einen bestimmten Teil einer Tabelle zu teilen, geben Sie eine Partitionsspezifikation an, wenn Sie die Tabelle zu einer Freigabe hinzufügen. Geben Sie Partitionen an, wenn Sie eine Tabelle zu einer Freigabe hinzufügen oder eine Freigabe aktualisieren, indem Sie den Catalog Explorer, die CLI des Databricks Unity Catalog oder SQL-Befehle in einem Azure Databricks-Notizbuch oder dem SQL-Abfrage-Editor von Databricks verwenden. Siehe Hinzufügen von Tabellen zu einer Freigabe und Aktualisieren von Freigaben.
Example
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 Sie Empfängereigenschaften, um die Partitionierung zu filtern
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: Das Azure Databricks-Konto, 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:
Note
Empfängereigenschaften sind in Databricks Runtime 12.2 und höher verfügbar.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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, welcher Katalog und welche Datenbank die Tabelle enthält, können Sie mithilfe der Arbeitsbereichssuche nach Name, Spaltenname oder Kommentar suchen. Weitere Informationen finden Sie unter Suchen nach Arbeitsbereichsobjekten.
(Optional) Klicken Sie auf
Klicken Sie unter "Partitionsspalte ", um eine Partition hinzuzufügen.
Fügen Sie im Dialogfeld "Tabelle Partition hinzufügen" die eigenschaftsbasierte Partitionsspezifikation mithilfe der folgenden Syntax hinzu:
(<column-name> = CURRENT_RECIPIENT().<property-key>)Zum Beispiel
(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>);
Zum Beispiel
ALTER SHARE acme ADD TABLE acme.default.some_table
PARTITION (country = CURRENT_RECIPIENT().country);
Fügen Sie Tabellen mit Löschvektoren oder Spaltenzuordnung zu einer Freigabe hinzu
Important
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 finden Sie unter Hinzufügen von Tabellen zu einer Freigabe.
Wenn Sie eine Tabelle mit Löschvektoren oder Spaltenzuordnungen freigeben, können Empfänger die Tabelle mithilfe eines SQL-Warehouses, einer Berechnung mit Databricks Runtime 14.1 oder höher oder einer Berechnung abfragen, die Open Source delta-sharing-spark 3.1 oder höher ausführt. Siehe Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen und Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen.
Schemata zu einem Share hinzufügen
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie einer Freigabe Schemas hinzufügen.
Durch das Hinzufügen eines gesamten Schemas zu einer Freigabe erhalten Ihre Empfänger Zugriff auf alle Datenressourcen im Schema zum Zeitpunkt, zu dem Sie die Freigabe erstellen, sowie 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.
Schemas an einen Empfänger freigeben
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.
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.
Einschränkungen
Tabellenaliasen, Partitionen und Volumealias sind nicht verfügbar, wenn Sie ein gesamtes Schema freigeben. 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 ein Volume im Schema angeben möchten, müssen Sie die Tabelle oder das Volume mit SQL freigeben und der Tabelle oder dem Volume einen Alias mit einem anderen Schemanamen zuweisen.
Fügen Sie Tabellen und Schemas, die durch ABAC-Richtlinien gesichert sind, zu einer Freigabe hinzu
Important
Dieses Feature befindet sich in der Public Preview.
Attributbasierte Zugriffssteuerung (Access Control, ABAC) ist ein Datengovernancemodell, das flexible, skalierbare und zentralisierte Zugriffssteuerung für Azure Databricks bereitstellt.
Sie können eine Tabelle oder ein Schema freigeben, die durch ABAC-Richtlinien wie Standardtabellen gesichert ist. Informationen zum Anwenden von ABAC-Richtlinien auf Ihre Datenressourcen finden Sie unter Erstellen und Verwalten von attributbasierten Zugriffssteuerungsrichtlinien (ABAC).
Sie müssen jedoch ein privilegierter Benutzer sein. Ein privilegierter Benutzer ist der Freigabebesitzer und ein Benutzer, der von den auf den Datenbestand angewendeten ABAC-Richtlinien ausgeschlossen ist. Die Richtlinie regelt nicht den Zugriff des Empfängers. Empfänger haben Vollzugriff auf das geteilte Asset. ABAC-Einschränkungen gelten.
Hinzufügen von Streamingtabellen zu einer Freigabe
Streamingtabellen sind normale Delta-Tabellen mit zusätzlicher Unterstützung für Streaming oder inkrementelle Datenverarbeitung. Streamingtabellen sind nur für Anfügedatenquellen vorgesehen und verarbeiten Eingaben nur einmal. Siehe Verwenden von Streamingtabellen in Databricks SQL.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie einer Datenfreigabe Streamingtabellen hinzufügen.
Zusätzliche Anforderungen
- Wenn Ihr Arbeitsbereich Arbeitsbereichskatalogbindungen aktiviert hat, überprüfen Sie, ob der Arbeitsbereich Lese- und Schreibzugriff auf den Katalog hat, in dem sich die Streamingtabelle befindet. Weitere Informationen finden Sie unter Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche.
- Freigabefähige Streamingtabellen müssen in Delta-Tabellen oder anderen freigabefähigen Streamingtabellen oder Sichten definiert werden.
- Sie müssen ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher verwenden, wenn Sie einer Freigabe eine Streamingtabelle hinzufügen.
Einschränkungen
- Die Streamingtabelle kann keine Zeilenfilter und Spaltenmasken haben.
- Die Basistabelle der Streamingtabelle kann Zeilenfilter und Spaltenmasken aufweisen.
- Die Streamingtabelle kann keine Partitionsfilter haben. Erstellen Sie stattdessen eine Ansicht über der Streamingtabelle.
Freigeben von Streamingtabellen für einen Empfänger
So fügen Sie Streamingtabellen einer Freigabe hinzu
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, der Sie eine Streamingtabelle hinzufügen möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.
Auf der Seite "Assets bearbeiten" können Sie eine Streamingtabelle suchen oder durchsuchen, die Sie freigeben möchten, und sie auswählen.
(Optional) Klicken Sie in der Spalte "Alias " auf das
Um einen Alias oder einen alternativen Namen der Streamingtabelle anzugeben, um den Namen der Streamingtabelle besser lesbar zu machen. Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Namen der Streamingtabelle 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 TABLE <st_name> [COMMENT <comment>] [AS <shared_st_name>];
CLI
Führen Sie den folgenden Cli-Befehl für Databricks aus.
databricks shares update <share-name> \
--json '{
“updates”: [
{
“action”: “ADD”,
“data_object”: {
“name”: “<st-full-name>",
“data_object_type”: “TABLE”,
“comment”: “<comment>”
}
}
]
}'
Informationen zum Entfernen von Streamingtabellen aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.
Verwaltete Iceberg-Tabellen zu einer Freigabe hinzufügen
Important
Dieses Feature befindet sich in der Public Preview.
Apache Iceberg ist ein Open Source-Tabellenformat für Analyseworkloads. In Azure Databricks können Sie Iceberg-Tabellen im Unity-Katalog erstellen, die als verwaltete Iceberg-Tabellen bezeichnet werden.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie verwaltete Iceberg-Tabellen zu einer Freigabe hinzufügen.
Für Iceberg-Tabellen und verwaltete Iceberg-Tabellen gelten Einschränkungen. Siehe Eisberg-Tabellenbeschränkungen.
Hinzufügen verwalteter Iceberg-Tabellen zu einem Share
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Wechseln Sie zur Registerkarte Von mir geteilt, suchen Sie die Freigabe, zu der Sie eine verwaltete Iceberg-Tabelle hinzufügen möchten, und klicken Sie auf deren Namen.
Klicken Sie auf "Ressourcen>verwalten".
Suchen Sie auf der Seite Ressourcen bearbeiten nach der verwalteten Iceberg-Tabelle, die Sie freigeben möchten, und wählen Sie sie dann aus.
(Optional) Klicken Sie in der Spalte "Alias " auf das
Um einen Alias oder einen alternativen verwalteten Iceberg-Tabellennamen anzugeben, um den Namen besser lesbar zu machen. Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlich verwalteten Iceberg-Tabellennamen 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. Optionalerweise können Sie <shared_iceberg_table_name> angeben, um die verwaltete Iceberg-Tabelle unter einem anderen Namen verfügbar zu machen.
ALTER SHARE <share_name> ADD TABLE <managed_iceberg_name> [COMMENT <comment>] [AS <shared_iceberg_table_name>];
CLI
Führen Sie den folgenden Cli-Befehl für Databricks aus.
databricks shares update <share-name> \
--json '{
“updates”: [
{
“action”: “ADD”,
“data_object”: {
“name”: “<managed-iceberg-full-name>",
“data_object_type”: “TABLE”,
“comment”: “<comment>”
}
}
]
}'
Hinzufügen fremder Schemas oder Tabellen zu einer Freigabe
Important
Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Verwalten von Azure Databricks-Vorschauen.
Lakehouse Federation ermöglicht Ihnen die Verwendung von Azure Databricks zum Ausführen von Abfragen für externe Datenquellen. Sie können fremde Schemas und Tabellen erstellen, die Daten und Metadaten enthalten, die von externen Systemen verwaltet werden, und Unity Catalog fügt Datengovernance hinzu, um diese Tabellen abzufragen. Weitere Informationen zum Herstellen einer Verbindung mit externen Quellen finden Sie unter Was ist Lakehouse Federation?.
Die Delta Sharing-Technologie ermöglicht es Ihnen, Daten an ihrem ursprünglichen Speicherort sicher zu teilen, ohne dass Daten in Azure Databricks kopiert, komplexe Netzwerkeinrichtungen erforderlich oder Anmeldeinformationen übertragen werden müssen.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie fremde Schemas oder Tabellen zu einer Freigabe hinzufügen.
Zusätzliche Anforderungen
Sie müssen Serverlose Berechnung für Workflows, Notizbücher und Lakeflow Spark Declarative Pipelines in dem Konto aktivieren, in dem fremde Schema- oder Fremdtabellen-Sharing eingerichtet ist. Siehe Verbinden mit serverlosem Compute.
Beim Teilen fremder Schemas und Tabellen werden die Daten abgefragt und vorübergehend auf der Seite des Anbieters materialisiert. Standardmäßig werden die materialisierten Daten in einem ausgeblendeten Schema unter Verwendung des Standardspeichers von Azure Databricks (Private Preview) gespeichert. Stellen Sie sicher, dass Sie die Anforderungen erfüllen, und beachten Sie die Einschränkungen für den Standardspeicher.
Ausführliche Informationen zur regionalen Standardverfügbarkeit des Speichers finden Sie unter Serverlose Verfügbarkeit.
Um die Verwendung von Azure Databricks-Standardspeicher zu deaktivieren und Ihren eigenen Speicher für die temporäre Materialisierung zu verwenden, öffnen Sie einen Supportfall.
Wenn Sie den Standardspeicher verwenden, müssen Sie die Delta-Freigabe für Standardspeicher – Erweiterte Zugriffsvorschau auf Kontoebene aktivieren. Siehe Verwalten von Azure Databricks-Vorschauen.
Empfohlene Verwendungsmuster
Abfrageergebnisse werden bei Bedarf für jede Abfrage generiert, sodass die Freigabe von Fremdtabellen und Schemata im Vergleich zur Freigabe von Tabellen oder materialisierten Ansichten möglicherweise nicht so kosteneffizient ist. Azure Databricks empfiehlt Folgendes, um die Leistung zu verbessern:
- Halten Sie die Größe der typischen Abfrageergebnisse kleiner als 10 GBs.
- Verwenden Sie Ad-hoc-explorative Abfragen anstelle häufiger Daten-Dumps.
- Bei der Verwendung der Cloud-Token-Freigabe sollten Sie materialisierte Ansichten freigeben, die über fremden Tabellen erstellt wurden, um Kosteneffizienz und eine bessere Leistung zu erzielen.
Freigeben des Fremdschemas oder der Fremdtabelle für einen Empfänger
Wenn Sie einer Freigabe fremde Schemas oder Tabellen hinzufügen möchten, verwenden Sie den Katalog-Explorer, den Databricks Unity Catalog CLI oder SQL-Befehle in einem Azure Databricks Notebook oder dem Databricks SQL-Abfrage-Editor.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Suchen Sie auf der Registerkarte "Von mir freigegeben " die Freigabe, der Sie eine Fremdtabelle oder ein Fremdschema hinzufügen möchten, und klicken Sie auf den Namen.
Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.
Suchen oder durchsuchen Sie auf der Seite "Ressourcen bearbeiten" nach der Fremdtabelle oder dem Fremdschema, das Sie freigeben möchten, und wählen Sie es aus.
(Optional) Klicken Sie in der Spalte "Alias " auf
Um einen Alias oder einen alternativen Fremdschema- oder Tabellennamen anzugeben, um den Fremdschema- oder Tabellennamen besser lesbar zu machen. Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Fremdschema- oder Tabellennamen nicht verwenden, wenn ein Alias angegeben ist.
Klicken Sie auf "Speichern".
SQL
ALTER SHARE <share-name>
ADD {TABLE | SCHEMA} {federated_catalog.federated_schema.federated_table | federated_catalog.federated_schema}
[COMMENT "<comment>"]
[AS <alias>];
Zu den Optionen gehören:
-
AS <alias>: Ein alternativer Name oder Alias, um den Namen der Datenressource besser lesbar zu machen. Der Alias ist der Name der Datenressource, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Namen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format<catalog-name>.<schema-name>.<view-name>. -
COMMENT "<comment>": Kommentare werden auf der Benutzeroberfläche des Katalog-Explorers angezeigt, und wenn Sie Datenobjektdetails mithilfe von SQL-Anweisungen auflisten und anzeigen.
Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.
CLI
databricks shares update <share-name> \
--json '{
“updates”: [
{
“action”: “ADD”,
“data_object”: {
“name”: “<federated-data-asset-full-name>",
“data_object_type”: “{TABLE | SCHEMA}”,
"shared_as": "<foreign-data-asset-alias>",
“comment”: “<comment>”
}
}
]
}'
Ansichten zu einer Freigabe hinzufügen
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.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie Ansichten zu einer Freigabe hinzufügen.
Zusätzliche Anforderungen
- Freigabefähige Ansichten müssen für Delta-Tabellen, andere gemeinsam nutzbare Ansichten oder lokalisierte materialisierte Ansichten und Streamingtabellen definiert werden. Freigabefähige Ansichten können für Fremdtabellen nicht 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.
- Wenn Ihr Arbeitsbereich Arbeitsbereichskatalogbindungen aktiviert hat, überprüfen Sie, ob der Arbeitsbereich Lese- und Schreibzugriff auf den Katalog hat. Weitere Informationen finden Sie unter Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche.
- Beim Teilen von Ansichten werden die Daten abgefragt und vorübergehend materialisiert. Die materialisierten Daten werden am Speicherort des übergeordneten Schemas oder Katalogs der Ansicht oder im Metastore-Stammspeicherort gespeichert.
- Wenn der Speicherort benutzerdefinierte Netzwerkkonfigurationen aufweist, z. B. eine Firewall oder eine private Verknüpfung, müssen Sie überprüfen, ob Ihre Empfänger zugelassen sind, um eine Verbindung mit dem Speicherort herzustellen. Anweisungen zum Konfigurieren von Firewallregeln für die serverlose Berechnung finden Sie unter Konfigurieren einer Firewall für serverlosen Computezugriff.
Ansichten für einen Empfänger freigeben
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.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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
Geben Sie unter der Spalte "Alias " einen alternativen Ansichtsnamen oder Alias an, um den Ansichtsnamen besser lesbar zu machen. 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>];
Zu den Optionen gehören:
-
AS <alias>: Ein alternativer Anzeigename oder Alias, um den Anzeigenamen lesbarer 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>. -
COMMENT "<comment>": Kommentare erscheinen in der Katalog-Explorer-Benutzeroberfläche und wenn Sie Ansichtsdetails mit SQL-Anweisungen auflisten und anzeigen.
Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.
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 bietet einen alternativen Ansichtsname oder Alias, um den Ansichtsname lesbarer 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.
Fügen Sie einer Freigabe dynamische Ansichten hinzu, um Zeilen und Spalten zu filtern
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.
Requirements
- Überprüfen Sie, ob Sie die Anforderungen zum Hinzufügen einer Ansicht zu einer Freigabe erfüllen.
-
Databricks Runtime-Version: Die Funktion
CURRENT_RECIPIENTwird in Databricks Runtime 14.2 und höher unterstützt.
Einschränkungen
- Alle Einschränkungen für die Ansichtsfreigabe gelten.
- Wenn ein Anbieter eine Ansicht freigibt, die die
CURRENT_RECIPIENTFunktion verwendet, kann der Anbieter 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.
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 im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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 weitere Option besteht darin, dass der Datenanbieter eine separate Zuordnungstabelle verwaltet, die Faktentabellenfelder Empfängereigenschaften zuordnet. Auf diese Weise können Empfängereigenschaften und Faktentabellenfelder für größere Flexibilität entkoppelt werden.
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 materialisierten Sichten zu einer Freigabe
Wie Sichten sind materialisierte Sichten die Ergebnisse einer Abfrage, und Sie können darauf zugreifen, als würde es sich um eine Tabelle handeln. Im Gegensatz zu regulären Ansichten spiegeln die Ergebnisse einer materialisierten Ansicht den Zustand der Daten wider, als die materialisierte Ansicht zuletzt aktualisiert wurde. Weitere Informationen zu materialisierten Ansichten finden Sie unter Verwenden materialisierter Ansichten in Databricks SQL.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie einem Share materialisierte Ansichten hinzufügen.
Zusätzliche Anforderungen
- Wenn Ihr Arbeitsbereich Arbeitsbereichskatalogbindungen aktiviert hat, überprüfen Sie, ob der Arbeitsbereich Lese- und Schreibzugriff auf den Katalog hat, der die materialisierte Ansicht enthält. Weitere Informationen finden Sie unter Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche.
- Freigegebene materialisierte Sichten müssen in Delta-Tabellen oder anderen freigegebenen Streamingtabellen, Sichten oder materialisierten Sichten definiert werden.
- Sie müssen ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher verwenden, wenn Sie einer Freigabe eine materialisierte Sicht hinzufügen.
Einschränkungen
- Die materialisierte Ansicht kann keine Zeilenfilter enthalten, aber die Basistabelle der materialisierten Ansicht kann Zeilenfilter und Spaltenmasken aufweisen.
- Die materialisierte Ansicht kann keine Partitionsfilter enthalten. Erstellen Sie stattdessen eine Ansicht über der materialisierten Ansicht.
Materialisierte Ansichten mit einem Empfänger teilen
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 Databricks SQL-Abfrage-Editor materialisierte 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.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, der Sie eine materialisierte Sicht hinzufügen möchten, und klicken Sie auf ihren Namen.
Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.
Auf der Seite Edit assets suchen oder durchsuchen Sie nach der materialisierten Ansicht, die Sie teilen möchten, und wählen Sie sie aus.
(Optional) Klicken Sie in der Spalte "Alias " auf das
Um einen Alias oder einen alternativen materialisierten Ansichtsnamen anzugeben, um den materialisierten Ansichtsnamen besser lesbar zu machen. Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Namen der materialisierten Ansicht 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 MATERIALIZED VIEW <mv_name> [COMMENT <comment>] [AS <shared_mv_name>];
CLI
databricks shares update <share-name> \
--json '{
“updates”: [
{
“action”: “ADD”,
“data_object”: {
“name”: “<mat-view-full-name>”,
“data_object_type”: “MATERIALIZED_VIEW”,
“comment”: “<comment>”
}
}
]
}'
Informationen zum Entfernen von materialisierten Sichten aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.
Volumen zu einem Share hinzufügen
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. Siehe Was sind Unity Catalog-Volumes?.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie Volumes zu einer Freigabe hinzufügen.
Zusätzliche Anforderungen
- Die Freigabe von Volume wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
- Sie müssen ein SQL-Warehouse unter Version 2023.50 oder höher oder eine Computeressource unter Databricks Runtime 14.1 oder höher verwenden, wenn Sie einer Freigabe ein 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 überprüfen, ob die Steuerebene und die Datenebenenadressen des Empfängers ordnungsgemäß zugelassen sind, um eine Verbindung mit dem Speicherort des Volumes herstellen zu können.
Note
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.
Volumen an einen Empfänger freigeben
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.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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
unter der Spalte Alias, um einen alternativen Volumennamen anzugeben, oder auf Alias, um den Volumennamen lesbarer 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. Wenn ein Alias angegeben ist, können Empfänger den tatsächlichen Volume-Namen nicht verwenden.
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>];
Zu den Optionen gehören:
-
AS <alias>: Ein alternativer Volumenname oder Alias, um den Volumennamen lesbarer 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 erscheinen in der Katalog-Explorer-Benutzeroberfläche und wenn Sie Volumendetails mit SQL-Anweisungen auflisten und anzeigen.
Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.
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 bietet einen alternativen Volumennamen oder Alias, um den Volumennamen lesbarer 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 Python-UDFs zu einer Freigabe
Mit benutzerdefinierten Funktionen (USER-Defined Functions, UDFs) können Sie Code wiederverwenden und freigeben, der integrierte Funktionen in Azure Databricks erweitert. Informationen zum Erstellen von Python-UDFs finden Sie unter Benutzerdefinierte Skalarfunktionen – Python.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie Python UDFs zu einer Freigabe hinzufügen.
Zusätzliche Einschränkungen
- Python-UDFs können nicht für einen geöffneten Empfänger freigegeben werden.
Teilen von Python-UDFs mit einem Empfänger
In diesem Abschnitt wird beschrieben, wie Sie Python-UDFs zu einer Datenfreigabe mithilfe des Katalog-Explorers, der Databricks CLI oder durch SQL-Befehle in einem Azure Databricks-Notizbuch oder SQL-Abfrage-Editor 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.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Suchen Sie auf der Registerkarte "Von mir freigegeben" die Freigabe, zu der Sie eine Python-UDF hinzufügen möchten, und klicken Sie auf deren Namen.
Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.
Durchsuchen oder suchen Sie auf der Seite Ressourcen bearbeiten nach dem Python-UDF, das Sie freigeben möchten, und wählen Sie es aus.
Alternativ können Sie das gesamte Schema auswählen, das die Python-UDF enthält. Weitere Informationen finden Sie unter Hinzufügen von Schemas zu einer Freigabe.
(Optional) Klicken Sie auf
Geben Sie unter der Spalte "Alias " einen alternativen Python-UDF-Namen oder Alias an, um den Python-UDF-Namen 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. Wenn ein Alias angegeben ist, können Empfänger den tatsächlichen Python-UDF-Namen nicht verwenden.
Klicken Sie auf "Speichern".
SQL
Führen Sie den folgenden Befehl aus, der in einem Notizbuch oder dem SQL-Abfrage-Editor von Databricks verwendet ADD MODELwird:
ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<python-udf-name>
[AS <alias>];
Zu den Optionen gehören:
-
AS <alias>: Ein alternativer Python-UDF-Name oder Alias, um den Python-UDF-Namen besser lesbar zu machen. Der Alias ist der Python-UDF-Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Python-UDF-Namen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format<schema-name>.<python-udf-name>.
Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.
CLI
Führen Sie den folgenden Befehl aus, der den Objekttyp als Modell mit Databricks CLI 0.210 oder höher angibt:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<python-udf-full-name>",
"data_object_type": "MODEL",
"string_shared_as": "<python-udf-alias>"
}
}
]
}'
"string_shared_as": "<python-udf-alias>" ist optional und stellt einen alternativen Python-UDF-Namen oder Alias bereit, um den Python-UDF-Namen besser lesbar zu machen. Der Alias ist der Python-UDF-Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Python-UDF-Namen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<python-udf-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.
Zu einer Freigabe hinzufügen FeatureSpecs
Eine FeatureSpec ist ein benutzerdefinierter Satz von Features und Funktionen. Empfänger können einen Funktionsbereitstellungs-Endpunkt aus dem freigegebenen FeatureSpec erstellen. Informationen zum Erstellen FeatureSpecs finden Sie unter Erstellen von FeatureSpec.
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie FeatureSpecs zu einer Freigabe hinzufügen.
Zusätzliche Anforderungen
- Alle Abhängigkeiten müssen der Freigabe hinzugefügt werden. Wenn Sie die UI verwenden, um ein
FeatureSpeczu einer Freigabe hinzuzufügen, sollten alle Abhängigkeiten automatisch zur Freigabe hinzugefügt werden. - Wenn dem Modell eine Abhängigkeit hinzugefügt wird, muss diese auch der Freigabe hinzugefügt werden.
Zusätzliche Einschränkungen
- Wenn es sich bei dieser Ressource um eine Abhängigkeit eines anderen Modells handelt, können Sie keinen Alias angeben.
- Sie können
FeatureSpecsnicht mit einem Empfänger mit offenem Zugriff teilen.
Teilen FeatureSpecs mit einem Empfänger
In diesem Abschnitt wird beschrieben, wie Sie FeatureSpecs zu einem Share hinzufügen, indem Sie den Katalog-Explorer, die Databricks CLI oder SQL-Befehle verwenden, ausgeführt in einem Azure Databricks-Notizbuch oder SQL-Abfrageeditor. Wenn Sie die Unity Catalog REST-API verwenden möchten, lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Gehen Sie zu der Registerkarte "Von mir freigegeben", finden Sie das Teilen, dem Sie einen
FeatureSpechinzufügen möchten, und klicken Sie auf den Namen.Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.
Auf der Seite "Ressourcen bearbeiten" suchen oder durchsuchen Sie die
FeatureSpec, die Sie teilen möchten, und wählen Sie sie aus.Alternativ können Sie das gesamte Schema auswählen, das die
FeatureSpecDatei enthält. Weitere Informationen finden Sie unter Hinzufügen von Schemas zu einer Freigabe.(Optional) Klicken Sie auf
Geben Sie unter der Spalte "Alias " einen alternativen
FeatureSpecNamen oder alias an, um denFeatureSpecNamen 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. Wenn ein Alias angegeben ist, können Empfänger den tatsächlichen
FeatureSpecNamen nicht verwenden.Wenn Abhängigkeiten vorhanden sind, teilt Ihnen das Dialogfeld " Alle Abhängigkeiten hinzufügen " mit, dass sie alle automatisch hinzugefügt werden. Klicken Sie auf "Alle Abhängigkeiten hinzufügen".
Klicken Sie auf "Speichern".
SQL
Führen Sie den folgenden Befehl aus, der in einem Notizbuch oder dem SQL-Abfrage-Editor von Databricks verwendet ADD MODELwird:
ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<featurespec-name>
[AS <alias>];
--Optionen umfassen:
-
AS <alias>: Ein alternativerFeatureSpecName oder Alias, um denFeatureSpecNamen besser lesbar zu machen. Der Alias ist derFeatureSpecName, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichenFeatureSpecNamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format<schema-name>.<featurespec-name>.
Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.
CLI
Führen Sie den folgenden Befehl aus, der den Objekttyp als Modell mit Databricks CLI 0.210 oder höher angibt:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<featurespec-full-name>",
"data_object_type": "MODEL",
"string_shared_as": "<featurespec-alias>"
}
}
]
}'
"string_shared_as": "<volume-alias>" ist optional und stellt einen alternativen FeatureSpec Namen oder Alias bereit, um den FeatureSpec Namen besser lesbar zu machen. Der Alias ist der FeatureSpec Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen FeatureSpec Namen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<featurespec-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.
Modelle zu einer Freigabe hinzufügen
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie einer Freigabe Modelle hinzufügen.
Note
Modellkommentare und Modellversionskommentare sind in Freigaben enthalten, die mithilfe der Databricks-zu-Databricks-Freigabe freigegeben werden.
Zusätzliche Anforderungen
- Die Modellfreigabe wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
- Sie müssen ein SQL-Warehouse unter Version 2023.50 oder höher oder eine Computeressource unter Databricks Runtime 14.0 oder höher verwenden, wenn Sie einer Freigabe ein Modell hinzufügen.
Freigeben von Modellen für einen Empfänger
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.
So fügen Sie einer Freigabe Modelle hinzu:
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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
Geben Sie unter der Spalte "Alias " einen alternativen Modellnamen oder Alias an, 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>];
Zu den Optionen gehören:
-
AS <alias>: Ein alternativer Modellname oder Alias, um den Modellnamen lesbarer 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 in der Katalog-Explorer-Benutzeroberfläche und wenn Sie Modellinformationen mithilfe von SQL-Anweisungen auflisten und anzeigen.
Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.
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 bietet einen alternativen Modellnamen oder Alias, um den Modellnamen lesbarer 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.
Notebook-Dateien zu einem freigegebenen Ordner hinzufügen
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie Notizbuchdateien zu einer Freigabe hinzufügen.
Verwenden Sie den Katalog-Explorer, um einer Freigabe eine Notebook-Datei hinzuzufügen.
- Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
- Klicken Sie auf die Schaltfläche "Delta-Freigabe" > .
- 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, den Empfänger sehen.
- Geben Sie unter Speicherortden externen Speicherort in den Cloudspeicher ein, an dem Sie das Notizbuch speichern möchten. Sie können einen Unterpfad unter dem definierten externen Speicherort angeben. Wenn Sie keinen externen Speicherort angeben, wird das Notizbuch im Speicherort auf Metastoreebene (oder "Metastore-Stammspeicherort") gespeichert. Wenn kein Stammspeicherort für den Metastore definiert ist, müssen Sie hier einen externen Speicherort eingeben. Siehe Hinzufügen von verwaltetem Speicher zu einem vorhandenen Metastore-.
- 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 im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol
, und wählen Sie Delta Sharing aus.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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.
Klicken Sie auf das
Kebab-Menü rechts neben der Zeile, und wählen Sie "Notizbuchdatei 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 den überarbeiteten Status des Notizbuchs angibt, wie <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.
Freigabe für externe Iceberg-Clients aktivieren
Important
Dieses Feature befindet sich in der Public Preview.
Sie können Delta-Tabellen, fremde Iceberg-Tabellen, Ansichten, materialisierte Ansichten und Streamingtabellen für externe Iceberg-Clients freigeben, die die Apache Iceberg REST-Katalog-API verwenden.
Stellen Sie vor der Freigabe sicher, dass Sie die Delta-Freigabeanforderungen erfüllen, die zum Hinzufügen Ihrer Datenressource zu einer Freigabe erforderlich sind. Sie müssen auch Löschvektoren für Tabellen deaktivieren.
Note
Dieses Feature unterscheidet sich von der Freigabe verwalteter Iceberg-Tabellen.
Um Daten mit externen Iceberg-Clients freizugeben:
Wenn Sie eine Delta-Tabelle freigeben, konfigurieren Sie jede Delta-Tabelle mit
IcebergCompatV2, um sie als Iceberg-kompatible Tabelle verfügbar zu machen. Dies ermöglicht die asynchrone Generierung von Iceberg-Metadaten zusammen mit Standard-Delta-Vorgängen. Überprüfen Sie, ob Sie die Anforderungen für die Freigabe von Delta-Tabellen mit Iceberg-Clients erfüllen und die Einschränkungen beachten. Informationen zum Aktivieren von Iceberg-Lesevorgängen finden Sie unter "Aktivieren von Iceberg-Lesevorgängen (UniForm)".Wenn Sie an Snowflake freigeben, werden nur Tabellen mit einheitlichen Berechtigungen für den Empfänger angezeigt. Andere Tabellen werden gefiltert.
Note
- Verwenden Sie
DESCRIBE HISTORY, um zu bestätigen, dass die Iceberg-Metadatengenerierung abgeschlossen ist, bevor die Tabelle von den Iceberg-Clients abgefragt werden kann. - Der OIDC-Authentifizierungstyp wird nicht unterstützt.
- Verwenden Sie
Fügen Sie die Datenressource zu einer Freigabe hinzu. Ausführliche Anweisungen finden Sie unter:
- Tabellen zu einer Freigabe hinzufügen
- Ansichten zu einer Freigabe hinzufügen
- Hinzufügen von materialisierten Sichten zu einer Freigabe
- Hinzufügen von Streamingtabellen zu einer Freigabe
- Die Freigabe fremder Iceberg-Tabellen ist in der privaten Testversion verfügbar. Wenden Sie sich an Ihr Azure Databricks-Kontoteam, um dieser Vorschau beizutreten.
Important
Die anbieterseitige Datenmaterialisierung wird ausgelöst, wenn Sie Ansichten, materialisierte Ansichten oder Streamingtabellen freigeben, was zu einer Anhäufung von Berechnungskosten führen kann. Weitere Informationen finden Sie unter "Wie entstehen und überprüfe ich die Delta-Freigabekosten?".
Teilen Sie mit Ihrem bereitstehenden Empfänger. Anweisungen zum Erstellen eines Empfängers und Erteilen des Zugriffs auf die Freigabe finden Sie unter Erstellen eines Empfängerobjekts für Nicht-Databricks-Benutzer mithilfe von Bearertoken (offene Freigabe).
Gewähren Sie Empfängern Zugriff auf einen Anteil
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie Empfängern Zugriff auf eine Freigabe gewähren.
Anweisungen finden Sie unter Verwalten des Zugriffs auf Delta Sharing-Datenfreigaben (für Anbieter). Auf dieser Seite wird auch erläutert, wie der Zugriff eines Empfängers auf eine Freigabe widerrufen wird.
Freigaben anzeigen und Details teilen
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie Freigaben anzeigen und Details freigeben.
Um eine Liste der Freigaben oder Details zu einer Freigabe anzuzeigen, verwenden Sie den Katalog-Explorer, die Databricks Unity Catalog CLI oder SQL-Befehle in einem Azure Databricks-Notizbuch oder dem SQL-Abfrage-Editor für Databricks.
Zu den Freigabedetails gehören:
- Der Besitzer der Freigabe, der Creator, der Erstellungs-Zeitstempel, der Aktualisierer, der aktualisierte Zeitstempel, die Kommentare.
- Datenressourcen in der Freigabe.
- Empfänger mit Zugriff auf die Freigabe
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Ö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 ersetzen Sie <pattern> durch ein LIKE Prädikat.
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>;
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>
Zeigen Sie die Empfänger an, die Berechtigungen für eine Freigabe haben
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie die Empfänger anzeigen.
Um die Liste der Freigaben anzuzeigen, zu denen ein Empfänger Zugriff erhalten hat, verwenden Sie den Katalog-Explorer, die Databricks Unity Catalog CLI oder den SHOW GRANTS TO RECIPIENT SQL-Befehl in einem Azure Databricks-Notizbuch oder dem SQL-Abfrageeditor von Databricks.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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>;
CLI
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks shares share-permissions <share-name>
Freigaben aktualisieren
Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie Aktualisierungen einer Freigabe vornehmen.
Sie können eine Freigabe auf folgende Weise aktualisieren:
- Umbenennen einer Freigabe
- Entfernen Sie Tabellen, Ansichten, Volumes und Schemas aus einer Freigabe.
- Hinzufügen oder Aktualisieren eines Kommentars zu einer Freigabe
- Benennen Sie den Alias einer Tabelle um (der dem Empfänger angezeigte Tabellenname).
- Aktivieren oder deaktivieren Sie den Zugriff auf die Verlaufsdaten einer Tabelle, sodass Empfänger Zeitreiseabfragen ausführen oder Lesevorgänge der Tabelle streamen können.
- Hinzufügen, Aktualisieren oder Entfernen von Partitionsdefinitionen
- Ändern des Freigabebesitzers
Um diese Aktualisierungen für Freigaben vorzunehmen, verwenden Sie Catalog Explorer, die Databricks Unity Catalog CLI oder SQL-Befehle in einem Azure Databricks-Notizbuch oder im Databricks SQL-Abfrage-Editor. Sie können den Katalog-Explorer jedoch nicht verwenden, um die Freigabe umzubenennen.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
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
Bearbeiten-Symbol neben dem Besitzer- oder Kommentar-Feld, um diese Werte zu aktualisieren. - Klicken Sie auf das
Schaltfläche in einer Objektzeile, um es 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.
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>"
}
}
]
}'
Note
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.
Überlegungen beim Aktualisieren des Anteilseigentümers
Wer der Freigabebesitzer ist, beeinflusst, wie Autorisierungs- und Sicherheitsfunktionen, wie z. B. ABAC-Richtlinien, ausgewertet werden. Wenn die Aktienanteile an einen überprivilegierten Benutzer übertragen werden, erhalten die Empfänger überprivilegierten Zugriff, sofern Sie über eine Tabelle oder ein Schema verfügen, das durch ABAC-Richtlinien gesichert ist.
Freigaben löschen
Wenn Sie eine Freigabe löschen, können Empfänger nicht länger auf die freigegebenen Daten zugreifen. Überprüfen Sie, ob Sie die Anforderungen erfüllen, bevor Sie ein Freigabeobjekt löschen.
Verwenden Sie zum Löschen einer Freigabe den Katalog-Explorer, die CLI des Databricks Unity-Katalogs oder den DELETE SHARE SQL-Befehl in einem Azure Databricks-Notizbuch oder im Databricks SQL-Abfrageeditor. Sie müssen ein Besitzer der Freigabe sein.
Katalog-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.
Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.
Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die Sie löschen möchten, und klicken Sie auf ihren Namen.
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 SHARE [IF EXISTS] <share-name>;
CLI
Führen Sie über die Databricks-CLI den folgenden Befehl aus.
databricks shares delete <share-name>