Teilen über


Erstellen und Verwalten von Freigaben für Delta Sharing

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
  • 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.
Fügen Sie folgendes zu einer Freigabe hinzu:
  • Tabellen
  • Streamingtabellen
  • Verwaltete Iceberg-Tabellen
  • Fremdtabellen
  • Ansichten
  • Materialisierte Ansichten
  • Besitzer der Freigabe sein.
  • Stellen Sie sicher, dass Sie die USE CATALOG-Berechtigung für den Katalog und das Schema haben, die die Datenressource enthalten.
  • Besitzen Sie die SELECT Berechtigung für die Datenressource. Sie müssen diese Berechtigung beibehalten, damit der Vermögenswert weiterhin geteilt wird. Wenn Sie die Berechtigung verlieren, kann die empfangende Person nicht über die Freigabe auf die Ressource zugreifen.
Freigeben eines gesamten Schemas oder fremder Schemas
  • Seien Sie der Freigabebesitzer und der Schemabesitzer oder haben Sie 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.
Hinzufügen von Volumes zu einer Freigabe
  • Besitzer der Freigabe sein.
  • Über die USE CATALOG-Berechtigung und USE 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.
Hinzufügen von Python-UDFs zu einer Freigabe
  • Besitzer der Freigabe sein.
  • Verfügen Sie über die USE CATALOG-Berechtigung und USE SCHEMA-Berechtigung für den Katalog und das Schema, die die Python-UDF enthalten, oder über den Besitz des Katalogs oder Schemas.
  • Besitzen Sie die EXECUTE Berechtigung für die Python-UDF. Sie müssen diese Berechtigung beibehalten, damit die Python-UDF weiterhin freigegeben wird. Wenn Sie ihn verlieren, kann der Empfänger nicht über die Freigabe auf die Python-UDF zugreifen.
Hinzufügen von Modellen zu einer Freigabe
  • Besitzer der Freigabe sein.
  • Über die USE CATALOG- und USE 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.
Notizbuchdateien zu einer Freigabe hinzufügen
  • Als Freigabebesitzer mit CAN READ-Berechtigung für das Notizbuch.
Empfänger Zugriff auf eine Freigabe gewähren
  • Seien Sie ein Metastore-Administrator. ODER
  • Ein Benutzer mit delegierten Berechtigungen oder Besitzverhältnissen sowohl auf der Freigabe als auch den Empfängerobjekten, was bedeutet, dass der Benutzer beide der folgenden Anforderungen erfüllen muss:
    • Besitzen Sie sowohl USE SHARE- als auch SET SHARE PERMISSION-Berechtigungen ODER sind Sie der Freigabebesitzer.
    • Berechtigung besitzen USE RECIPIENT ODER der Empfangsberechtigte sein
Anzeigen von Freigaben
  • Der Metastore-Administrator (kann alles anzeigen). ODER
  • Ein Benutzer mit den USE SHARE Berechtigungen (kann alle anzeigen). ODER
  • Sein Sie der Besitzer des Freigabeobjekts.
Aktualisierung des Eigentümers der Freigabe
  • Werde ein Metastore-Administrator.
Aktualisieren des Freigabenamens
  • Besitzen Sie die CREATE SHARE Berechtigung.
  • Besitzer der Freigabe sein.
Aktualisieren anderer Freigabeeigenschaften
  • Besitzer der Freigabe sein.
Freigaben löschen
  • Sein Sie der Besitzer des Freigabeobjekts.

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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. Klicken Sie auf der Registerkarte Von mir freigegeben auf die Schaltfläche Daten freigeben.

  4. Geben Sie auf der Seite Freigabe erstellen den Namen der Freigabe und einen optionalen Kommentar ein.

  5. 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.

  6. 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:

  7. Klicken Sie auf Speichern und fortfahren.

  8. 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.

  9. Klicken Sie auf Speichern und fortfahren.

  10. 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).

  11. 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:

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

Ü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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Datenressourcen hinzufügen.

  5. 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.

  6. 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.

  7. (Optional) Klicken Sie auf das Symbol 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.

  8. 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 HISTORY oder WITHOUT HISTORY: Wenn WITH HISTORY angegeben 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 ist WITH HISTORY, wenn ihre Berechnung Databricks Runtime 16.2 oder höher ausführt und für frühere Databricks-Runtime-Versionen WITHOUT HISTORY. Für die Schema-Freigabe ist der Standard WITH HISTORY, unabhängig von der Databricks Runtime-Version. WITH HISTORY und WITHOUT HISTORY erfordern 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.

Diagramm der auf Parameter basierenden dynamischen Partitionsfreigabe in Delta Sharing

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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die Sie aktualisieren möchten, und klicken Sie auf ihren Namen.

  4. Klicken Sie auf Ressourcen verwalten > Datenressourcen hinzufügen.

  5. 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.

  6. (Optional) Klicken Sie auf das Symbol 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)
    
  7. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.

  5. Auf der Seite "Assets bearbeiten" können Sie eine Streamingtabelle suchen oder durchsuchen, die Sie freigeben möchten, und sie auswählen.

  6. (Optional) Klicken Sie in der Spalte "Alias " auf das Symbol 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.

  7. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf "Ressourcen>verwalten".

  5. Suchen Sie auf der Seite Ressourcen bearbeiten nach der verwalteten Iceberg-Tabelle, die Sie freigeben möchten, und wählen Sie sie dann aus.

  6. (Optional) Klicken Sie in der Spalte "Alias " auf das Symbol 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.

  7. 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.

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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.

  5. 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.

  6. (Optional) Klicken Sie in der Spalte "Alias " auf das Symbol 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.

  7. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Datenressourcen hinzufügen.

  5. Suchen Sie auf der Seite Tabellen hinzufügen nach der Sicht, die Sie freigeben möchten, und wählen Sie sie aus.

  6. (Optional) Klicken Sie auf das Symbol 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.

  7. 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_RECIPIENT wird 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_RECIPIENT Funktion 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Eigenschaften bearbeiten.

  5. 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 Beispiel CA).

  6. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.

  5. Auf der Seite Edit assets suchen oder durchsuchen Sie nach der materialisierten Ansicht, die Sie teilen möchten, und wählen Sie sie aus.

  6. (Optional) Klicken Sie in der Spalte "Alias " auf das Symbol 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.

  7. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.

  5. 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.

  6. (Optional) Klicken Sie auf Sprechblasen-Plus-Symbol 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.

  7. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.

  5. 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.

  6. (Optional) Klicken Sie auf das Symbol 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.

  7. 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 FeatureSpec zu 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 FeatureSpecs nicht 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. Gehen Sie zu der Registerkarte "Von mir freigegeben", finden Sie das Teilen, dem Sie einen FeatureSpec hinzufügen möchten, und klicken Sie auf den Namen.

  4. Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.

  5. 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.

  6. (Optional) Klicken Sie auf das Symbol Geben Sie unter der Spalte "Alias " einen alternativen FeatureSpec Namen oder alias an, um den FeatureSpec 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 FeatureSpec Namen nicht verwenden.

  7. 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".

  8. 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 alternativer FeatureSpec Name oder Alias, 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>.

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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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.

  4. Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten.

  5. 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.

  6. (Optional) Klicken Sie auf das Symbol 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.

  7. 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.

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.
  2. Klicken Sie auf die Schaltfläche "Delta-Freigabe" > .
  3. 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.
  4. Klicken Sie auf Assets verwalten, und wählen Sie Notebook-Datei hinzufügen aus.
  5. 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-.
  6. 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:

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die das Notebook enthält, und klicken Sie auf den Freigabenamen.

  4. Suchen Sie auf der Registerkarte Assets nach der Notebook-Datei, die Sie aus der Freigabe entfernen möchten.

  5. Klicken Sie auf das Kebab-Menüsymbol. Kebab-Menü rechts neben der Zeile, und wählen Sie "Notizbuchdatei löschen" aus.

  6. 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:

  1. 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.
  2. Fügen Sie die Datenressource zu einer Freigabe hinzu. Ausführliche Anweisungen finden Sie unter:

    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?".

  3. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. Öffnen Sie die Registerkarte Freigaben, um eine Liste der Freigaben anzuzeigen.

  4. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. Suchen Sie auf der Registerkarte Von mir freigegeben nach dem Empfänger, und wählen Sie ihn aus.

  4. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. 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 Symbol „Bearbeiten“ Bearbeiten-Symbol neben dem Besitzer- oder Kommentar-Feld, um diese Werte zu aktualisieren.
  • Klicken Sie auf das Kebab-Menüsymbol. 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

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.

  2. Klicken Sie oben im Bereich Katalog auf das Zahnradsymbol Zahnrad-Symbol, und wählen Sie Delta Sharing aus.

    Wählen Sie alternativ auf der Seite Schnellzugriff die Schaltfläche Delta Sharing > aus.

  3. Suchen Sie auf der Registerkarte Von mir freigegeben nach der Freigabe, die Sie löschen möchten, und klicken Sie auf ihren Namen.

  4. Klicken Sie auf das Kebab-Menüsymbol. Kebab-Menü, und wählen Sie "Löschen" aus.

  5. 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>