Erstellen und Verwalten von Freigaben für Delta Sharing

In diesem Artikel wird erläutert, wie Sie Freigaben für Delta Sharing erstellen und verwalten.

Eine Freigabe ist ein sicherungsfähiges Objekt in Unity Catalog, das Sie zum Freigeben der folgenden Datenressourcen für einen oder mehrere Empfänger verwenden können:

  • Tabellen und Tabellenpartitionen
  • Ansichten, einschließlich dynamischer Ansichten, die den Zugriff auf Zeilen- und Spaltenebene beschränken
  • Volumes
  • Notebooks
  • KI-Modelle

Wenn Sie ein gesamtes Schema (Datenbank) freigeben, kann der Empfänger auf alle Tabellen, Ansichten, Modelle und Volumes im Schema zugreifen, während Sie es freigeben, zusammen mit allen Daten und KI-Ressourcen, die dem Schema in Zukunft hinzugefügt werden.

Eine Freigabe kann nur Daten- und KI-Ressourcen aus einem Unity Catalog-Metastore enthalten. Sie können Daten- und KI-Ressourcen jederzeit zu einer Freigabe hinzufügen oder sie daraus entfernen.

Weitere Informationen finden Sie unter Freigaben, Anbieter und Empfänger.

Anforderungen

Um eine Freigabe zu erstellen, müssen Sie:

  • Ein Metastore-Administrator sein oder über die Berechtigung CREATE SHARE für den Unity Catalog-Metastore verfügen, in dem die freizugebenden Daten registriert sind.
  • Die Freigabe mit einem Azure Databricks-Arbeitsbereich erstellen, an den dieser Unity Catalog-Metastore angefügt ist.

Zum Hinzufügen von Tabellen oder Sichten zu einer Freigabe müssen folgende Voraussetzungen erfüllt sein:

  • Besitzer der Freigabe sein.
  • Über die USE CATALOG-Berechtigung und USE SCHEMA-Berechtigung für den Katalog und das Schema, die die Tabelle oder Ansicht enthalten oder den Besitz des Katalogs oder Schemas verfügen.
  • Über die SELECT-Berechtigung für die Tabelle oder Ansicht verfügen. Sie müssen diese Berechtigung aufrechterhalten, damit die Tabelle oder Sicht weiterhin freigegeben werden kann. Wenn Sie die Berechtigung verlieren, kann der Empfänger nicht über die Freigabe auf die Tabelle oder Sicht zugreifen. Databricks empfiehlt daher, eine Gruppe als Freigabebesitzer zu verwenden.

Zum Hinzufügen von Volumes zu einer Freigabe müssen Sie:

  • Besitzer der Freigabe sein.
  • Über die USE CATALOG-Berechtigung 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. Databricks empfiehlt daher, eine Gruppe als Freigabebesitzer zu verwenden.

Um einer Freigabe Modelle hinzuzufügen, müssen Sie:

  • Besitzer der Freigabe sein.
  • Über die USE CATALOG- 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. Databricks empfiehlt daher, eine Gruppe als Freigabebesitzer zu verwenden.

Um ein gesamtes Schema zu teilen, müssen Sie:

  • Besitzer der Freigabe oder Besitzer des Schema sein oder folgendes besitzen USE SCHEMA.
  • Über SELECT für das Schema zum Freigeben von Tabellen verfügen.
  • Über READ VOLUME für das Schema zum Freigeben von Volumes verfügen.

Um Notebook-Dateien zu einer Freigabe hinzuzufügen, müssen Sie folgende Rolle haben:

  • Freigabebesitzer mit der KANN LESEN-Berechtigung für das Notebook.

Um dem Empfänger Zugriff auf eine Freigabe zu gewähren, müssen Sie eine der folgenden Rollen haben:

  • Metastore-Administrator.
  • Benutzer mit delegierten Berechtigungen oder Eigentum sowohl für die Freigabe als auch für die Empfängerobjekte ((USE SHARE + SET SHARE PERMISSION) oder Freigabebesitzer) UND (USE RECIPIENT oder Empfängerbesitzer).

Um Freigaben anzeigen zu können, müssen Sie eine der folgenden Rollen haben:

  • Ein Metastoreadministrator (kann alle anzeigen)
  • Ein Benutzer mit der Berechtigung USE SHARE (kann alle anzeigen)
  • Der Besitzer des Freigabeobjekts

Computeanforderungen:

  • Wenn Sie zum Erstellen der Freigabe ein Databricks-Notebook verwenden, muss Ihr Cluster mindestens über Databricks Runtime 11.3 LTS oder höher verfügen und entweder den gemeinsamen Clusterzugriffsmodus oder den Clusterzugriffsmodus für Einzelbenutzer verwenden.
  • Wenn Sie SQL-Anweisungen verwenden, um einer Freigabe ein Schema hinzuzufügen (oder um ein Schema zu aktualisieren oder zu entfernen), müssen Sie ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher verwenden. Die gleiche Vorgehensweise mit dem Katalog-Explorer hat keine Computeanforderungen.

Erstellen eines Freigabeobjekts

Zum Erstellen einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl CREATE SHARE in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Erforderliche Berechtigungen: Metastore-Administrator oder Benutzer mit der Berechtigung CREATE SHARE für den Metastore

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 Tabellen, Volumes, Ansichten und Modelle aus, die Sie freigeben möchten.

    Ausführliche Anweisungen 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, Volumes, Ansichten und Modelle hinzufügen.

Ausführliche Anweisungen finden Sie unter:

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie über die Databricks-CLI den folgenden Befehl aus.

databricks shares create <share-name>

Sie können --comment verwenden, um einen Kommentar hinzuzufügen oder --json, um der Freigabe Objekte hinzuzufügen. Weitere Informationen finden Sie in den folgenden Abschnitten.

Jetzt können Sie der Freigabe Tabellen, Volumes, Ansichten und Modelle hinzufügen.

Ausführliche Anweisungen finden Sie unter:

Hinzufügen von Tabellen zu einer Freigabe

Zum Hinzufügen von Tabellen zu einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Hinweis

Tabellenkommentare, Spaltenkommentare und Primärschlüsseleinschränkungen sind in Freigaben enthalten, die für einen Empfänger mithilfe der Databricks-zu-Databricks-Freigabe am oder nach dem 25. Juli 2024 freigegeben werden. Wenn Sie mit der Freigabe von Kommentaren und Einschränkungen über eine Freigabe beginnen möchten, die vor dem Veröffentlichungsdatum für einen Empfänger freigegeben wurde, müssen Sie den Empfängerzugriff widerrufen und erneut gewähren, um die Freigabe von Kommentaren und Einschränkungen auszulösen.

Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts, USE CATALOG und USE SCHEMA für den Katalog und das Schema, das die Tabelle enthält, und die SELECT Berechtigung für die Tabelle. Sie müssen die Berechtigung SELECT so lange behalten, wie Sie die Tabelle freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.

Hinweis

Wenn Sie ein Arbeitsbereichsadministrator sind und die Berechtigungen USE SCHEMA und USE CATALOG für das Schema und den Katalog geerbt haben, die die Tabelle aus der Arbeitsbereichsadministratorgruppe enthalten, können Sie die Tabelle nicht zu einer Freigabe hinzufügen. Sie müssen sich zunächst selbst die Berechtigungen USE SCHEMA und USE CATALOG für das Schema und den Katalog erteilen.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 und Sichten aus.

    • Um eine Tabelle oder Sicht auszuwählen, wählen Sie zuerst den Katalog und dann das Schema aus, das die Tabelle oder Sicht enthält. Anschließend wählen Sie die Tabelle oder Sicht selbst aus.

      Sie können mithilfe der Arbeitsbereichssuche anhand des Namens, Spaltennamens oder Kommentars nach Tabellen suchen. Weitere Informationen finden Sie unter Suchen nach Arbeitsbereichsobjekten.

    • Um ein Schema auszuwählen, wählen Sie zuerst den Katalog und dann das Schema aus.

      Ausführliche Informationen zum Freigeben von Schemas finden Sie unter Hinzufügen von Schemas zu einer Freigabe.

  6. (Optional) Klicken Sie auf Erweiterte Tabellenoptionen, um die folgenden Optionen anzugeben. Alias und Partitionen sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen. Der Tabellenverlauf ist standardmäßig enthalten, wenn Sie ein gesamtes Schema auswählen.

    • Alias: Ein alternativer Tabellenname, um den Tabellennamen besser lesbar zu machen. Der Alias ist der Tabellenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Tabellennamen nicht verwenden, wenn ein Alias angegeben ist.

    • Partition: Teilen Sie nur einen Teil der Tabelle. Beispielsweise (column = 'value'). Weitere Informationen finden Sie unter Angeben der freizugebenden Tabellenpartitionen und Verwenden von Empfängereigenschaften zum Durchführen der Partitionsfilterung.

    • Verlaufsfreigabe: Geben Sie den Tabellenverlauf frei, damit Empfänger Zeitreiseabfragen ausführen oder die Tabelle mit Spark Structured Streaming lesen können. Erfordert Databricks Runtime 12.2 LTS oder höher.

      Hinweis

      Wenn Ihre Kund*innen zusätzlich zu Zeitreiseabfragen und Streaming-Lesevorgängen in der Lage sein sollen, den Änderungsdatenfeed (CDF) einer Tabelle mithilfe der table_changes()-Funktion abzufragen, müssen Sie CDF für die Tabelle aktivieren, bevor Sie sie WITH HISTORY freigeben.

  7. Klicken Sie auf Speichern.

SQL

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus, um eine Tabelle hinzuzufügen:

ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>  [COMMENT "<comment>"]
   [PARTITION(<clause>)] [AS <alias>]
   [WITH HISTORY | WITHOUT HISTORY];

Führen Sie Folgendes aus, um ein gesamtes Schema hinzuzufügen. Der Befehl ADD SCHEMA erfordert ein SQL Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher. Ausführliche Informationen zum Freigeben von Schemas finden Sie unter Hinzufügen von Schemas zu einer Freigabe.

ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];

Folgende Optionen stehen zur Auswahl. PARTITION und AS <alias> sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen. WITH HISTORY wird standardmäßig für alle Tabellen ausgewählt, wenn Sie ein gesamtes Schema auswählen.

  • PARTITION(<clause>): Wenn Sie nur einen Teil der Tabelle freigeben möchten, können Sie eine Partition angeben. Sie finden (column = 'value') beispielsweise unter Angeben der freizugebenden Tabellenpartitionen und Verwenden von Empfängereigenschaften zum Durchführen der Partitionsfilterung.

  • AS <alias>: Ein alternativer Tabellenname oder Alias, um einen besser lesbaren Tabellennamen zu verwenden. Der Alias ist der Tabellenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Tabellennamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<table-name>.

  • WITH HISTORY oder WITHOUT HISTORY: Wenn WITH HISTORY angegeben ist, geben Sie die Tabelle mit dem vollständigen Verlauf frei, sodass Empfänger Zeitreiseabfragen und Streaming für Lesevorgänge ausführen können. Das Standardverhalten für die Tabellenfreigabe ist WITHOUT HISTORY und für die Schemafreigabe WITH HISTORY. Erfordert Databricks Runtime 12.2 LTS oder höher.

    Hinweis

    Wenn Ihre Kund*innen zusätzlich zu Zeitreiseabfragen und Streaming-Lesevorgängen in der Lage sein sollen, den Änderungsdatenfeed (CDF) einer Tabelle mithilfe der table_changes()-Funktion abzufragen, müssen Sie CDF für die Tabelle aktivieren, bevor Sie sie WITH HISTORY freigeben.

Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie zum Hinzufügen einer Tabelle über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

Um ein Schema hinzuzufügen, führen Sie den folgenden Databricks CLI-Befehl aus:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<schema-full-name>",
          "data_object_type": "SCHEMA"
        }
      }
    ]
  }'

Hinweis

Bei Tabellen und nur bei Tabellen können Sie "data_object_type" auslassen.

Weitere Informationen zu den Optionen in diesem Beispiel finden Sie in den Anweisungen auf der SQL-Registerkarte.

Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.

Informationen zum Entfernen von Tabellen aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.

Angeben der freizugebenden Tabellenpartitionen

Wenn Sie beim Hinzufügen einer Tabelle zu einer Freigabe nur einen Teil der Tabelle freigeben möchten, können Sie eine Partition angeben. Sie können Partitionen angeben, wenn Sie einer Freigabe eine Tabelle hinzufügen oder diese aktualisieren, indem Sie den Katalog-Explorer, die Databricks Unity Catalog-CLI oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden. Siehe Hinzufügen von Tabellen zu einer Freigabe und Aktualisieren von Freigaben.

Einfaches Beispiel

Das folgende SQL-Beispiel wird ein Teil der Daten in der Tabelle inventory freigegeben, partitioniert nach den Spalten year, month und date:

  • Daten für das Jahr 2021
  • Daten für Dezember 2020
  • Daten für den 25. Dezember 2019
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
          (year = "2020", month = "Dec"),
          (year = "2019", month = "Dec", date = "2019-12-25");

Verwenden von Empfängereigenschaften zum Durchführen der Partitionsfilterung

Sie können eine Tabellenpartition freigeben, die Eigenschaften des Datenempfängers entspricht (wird auch als parametrisierte Partitionsfreigabe bezeichnet).

Zu den Standardeigenschaften gehören:

  • databricks.accountId: Das Azure Databricks-Konto, zu dem ein Datenempfänger gehört (nur Databricks-zu-Databricks-Freigabe).
  • databricks.metastoreId: Der Unity Catalog-Metastore, zu dem ein Datenempfänger gehört (nur Databricks-zu-Databricks-Freigabe).
  • databricks.name: Der Name des Datenempfängers.

Sie können eine beliebige benutzerdefinierte Eigenschaft erstellen, wenn Sie einen Empfänger erstellen oder aktualisieren.

Die Filterung nach Empfängereigenschaft ermöglicht es Ihnen, dieselben Tabellen mit derselben Freigabe für mehrere Databricks-Konten, Arbeitsbereiche und Benutzer gemeinsam zu nutzen, während Sie die Datengrenzen zwischen ihnen aufrechterhalten.

Wenn Ihre Tabellen beispielsweise eine Azure Databricks-Konto-ID-Spalte enthalten, können Sie eine einzelne Freigabe mit Tabellenpartitionen erstellen, die durch die Azure Databricks-Konto-ID definiert ist. Bei der Freigabe übermittelt Delta Sharing jedem Empfänger dynamisch nur die Daten, die dem Azure Databricks-Konto zugeordnet sind.

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:

Hinweis

Empfängereigenschaften sind in Databricks Runtime 12.2 und höher verfügbar.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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, in welchem Katalog und in welcher Datenbank die Tabelle enthalten ist, können Sie mit der Arbeitsbereichssuche nach dem Namen, einem Spaltennamen oder einem Kommentar suchen. Weitere Informationen finden Sie unter Suchen nach Arbeitsbereichsobjekten.

  6. (Optional) Klicken Sie auf Erweiterte Tabellenoptionen, um Partitionsspezifikationen hinzuzufügen.

    Fügen Sie im Dialogfeld Partition zu einer Tabelle hinzufügen die eigenschaftsbasierte Partitionsspezifikation mithilfe der folgenden Syntax hinzu:

    (<column-name> = CURRENT_RECIPIENT().<property-key>)
    

    Ein auf ein Objekt angewendeter

    (country = CURRENT_RECIPIENT().'country')
    
  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>);

Beispiel:

ALTER SHARE acme ADD TABLE acme.default.some_table
  PARTITION (country = CURRENT_RECIPIENT().'country');

Hinzufügen von Tabellen mit Löschvektoren oder Spaltenzuordnungen zu einer Freigabe

Wichtig

Dieses Feature befindet sich in der Public Preview.

Löschvektoren sind ein Feature zur Speicheroptimierung, das Sie in Delta-Tabellen aktivieren können. Weitere Informationen finden Sie unter Was sind Löschvektoren?.

Azure Databricks unterstützt auch die Spaltenzuordnung für Delta-Tabellen. Weitere Informationen finden Sie unter Rename and drop columns with Delta Lake column mapping (Umbenennen und Löschen von Spalten mit Delta Lake-Spaltenzuordnung).

Um eine Tabelle mit Löschvektoren oder Spaltenzuordnungen freizugeben, müssen Sie sie für den Verlauf freigeben. Weitere Informationen unter Hinzufügen von Tabellen zu einer Freigabe.

Wenn Sie eine Tabelle mit Löschvektoren oder Spaltenzuordnungen freigeben, können Empfänger die Tabelle mit einem SQL-Warehouse, einem Cluster mit Databricks Runtime 14.1 oder höher, das Open Source delta-sharing-spark 3.1 oder höher ausführt, abfragen oder berechnen. Siehe Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen und Lesen von Tabellen mit aktivierten Löschvektoren oder Spaltenzuordnungen.

Hinzufügen von Sichten zu einer Freigabe

Wichtig

Dieses Feature befindet sich in der Public Preview.

Sichten sind schreibgeschützte Objekte, die aus Tabellen oder anderen Sichten erstellt werden. Eine Sicht kann aus Tabellen und anderen Sichten erstellt werden, die in mehreren Schemas und Katalogen in einem Unity Catalog-Metastore enthalten sind. Weitere Informationen finden Sie unter Erstellen und Verwalten von Sichten.

In diesem Abschnitt wird beschrieben, wie Sie einer Freigabe mithilfe des Katalog-Explorers, Databricks-CLI oder SQL-Befehlen in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor Sichten hinzufügen. Wenn Sie die Unity Catalog REST-API verwenden möchten, lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.

Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts, USE CATALOG und USE SCHEMA für den Katalog und das Schema, das die Ansicht enthält, und SELECT für die Ansicht. Sie müssen die Berechtigung SELECT so lange behalten, wie Sie die Sicht freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.

Zusätzliche Anforderungen:

  • Die Freigabe von Sichten wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
  • Ansichten, die freigegeben werden können, müssen in Delta-Tabellen oder anderen gemeinsam nutzbaren Ansichten definiert werden.
  • Sie können keine Ansichten freigeben, die auf gemeinsame Tabellen oder gemeinsame Ansichten verweisen.
  • Sie müssen ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher verwenden, wenn Sie einer Freigabe eine Sicht hinzufügen.
  • Informationen zu Anforderungen und Einschränkungen bei der Verwendung von Sichten durch Empfänger finden Sie unter Lesen freigegebener Sichten.

So fügen Sie einer Freigabe Sichten hinzu

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 Erweiterte Tabellenoptionen, um einen Alias oder einen alternativen Sichtnamen anzugeben, damit der Sichtname besser lesbar ist. Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Sichtnamen nicht verwenden, wenn ein Alias angegeben ist.

  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>];

Beispiele für Optionen:

  • AS <alias>: Ein alternativer Sichtname oder Alias, um einen besser lesbaren Sichtnamen zu verwenden. Der Alias ist der Sichtname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Sichtnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<view-name>.
  • COMMENT "<comment>": Kommentare werden auf der Katalog-Explorer-Benutzeroberfläche sowie beim Auflisten und Anzeigen von Sichtdetails mithilfe von SQL-Anweisungen angezeigt.

Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie den folgenden Databricks CLI-Befehl aus:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<view-full-name>",
          "data_object_type": "VIEW",
          "shared_as": "<view-alias>"
        }
      }
    ]
  }'

"shared_as": "<view-alias>" ist optional und stellt einen alternativen Ansichtsnamen oder Alias bereit, um den Ansichtsnamen besser lesbar zu machen. Der Alias ist der Sichtname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Sichtnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<view-name>.

Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.

Informationen zum Entfernen von Ansichten aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.

Hinzufügen von dynamischen Ansichten zu einer Freigabe zum Filtern von Zeilen und Spalten

Wichtig

Dieses Feature befindet sich in der Public Preview.

Sie können dynamische Ansichten verwenden, um eine fein abgestufte Zugriffskontrolle auf Tabellendaten zu konfigurieren, einschließlich:

  • Sicherheit auf Spalten- oder Zeilenebene
  • Datenmaskierung

Wenn Sie eine dynamische Ansicht erstellen, die die Funktion CURRENT_RECIPIENT() verwendet, können Sie den Zugriff von Empfänger*innen anhand von Eigenschaften begrenzen, die Sie in der Empfängerdefinition angeben.

In diesem Abschnitt finden Sie Beispiele für die Einschränkung des Zugriffs von Empfänger*innen auf Tabellendaten sowohl auf Zeilen- als auch auf Spaltenebene mithilfe einer dynamischen Ansicht.

Anforderungen

  • Databricks Runtime-Version: Die Funktion CURRENT_RECIPIENT wird in Databricks Runtime 14.2 und höher unterstützt.
  • Berechtigungen:
    • Um eine Ansicht zu erstellen, müssen Sie Besitzer*in des Freigabeobjekts sein, die Berechtigungen USE CATALOG und USE SCHEMA für den Katalog und das Schema, das die Ansicht enthält, sowie die Berechtigung SELECT für die Ansicht haben. Sie müssen die Berechtigung SELECT so lange behalten, wie Sie die Sicht freigeben möchten.
    • Um Eigenschaften für Empfänger*innen festzulegen, müssen Sie Besitzer*in des Empfängerobjekts sein.
  • Einschränkungen: Alle Einschränkungen für Ansichtsfreigaben, einschließlich Einschränkung der Databricks-zu-Databricks-Freigabe und zusätzlich:
    • Wenn ein*e Anbieter*in eine Ansicht freigibt, die die Funktion CURRENT_RECIPIENT verwendet, kann der Anbieter bzw. die Anbieterin die Ansicht aufgrund des Freigabekontexts nicht direkt abfragen. Um eine solche dynamische Ansicht zu testen, muss der Anbieter bzw. die Anbieterin die Ansicht mit sich selbst teilen und die Ansicht als Empfänger*in abfragen.
    • Anbieter*innen können keine Ansicht erstellen, die auf eine dynamische Ansicht verweist.

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 in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 andere Möglichkeit besteht darin, dass der Datenanbieter bzw. die Datenanbieterin eine separate Zuordnungstabelle pflegt, in der die Felder der Faktentabelle den Empfängereigenschaften zugeordnet werden. Dadurch können die Empfängereigenschaften und die Felder der Faktentabelle entkoppelt werden, was eine größere Flexibilität ermöglicht.

Erstellen einer dynamischen Ansicht mit Berechtigungen auf Spaltenebene für Empfänger*innen

In diesem Beispiel können nur Empfänger*innen mit einer entsprechenden Eigenschaft country bestimmte Spalten anzeigen. Andere sehen die zurückgegebenen Daten als REDACTED:

CREATE VIEW my_catalog.default.view2 AS
  SELECT
  CASE
    WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
    ELSE 'REDACTED'
  END AS pii
  FROM my_catalog.default.my_table;

Freigeben der dynamischen Ansicht für eine*n Empfänger*in

Um die dynamische Ansicht für eine*n Empfänger*in freizugeben, verwenden Sie die gleichen SQL-Befehle oder UI-Prozeduren wie für eine Standardansicht. Siehe Hinzufügen von Ansichten zu einer Freigabe.

Hinzufügen von Volumes zu einer Freigabe

Volumes sind Unity Catalog-Objekte, die ein logisches Speichervolume an einem Speicherort für Cloudobjekte darstellen. Sie sollen in erster Linie Governance über nicht tabellarische Datenressourcen bereitstellen. Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes?.

In diesem Abschnitt wird beschrieben, wie Sie einer Freigabe mithilfe des Katalog-Explorers, der Databricks-CLI oder SQL-Befehlen in einem Azure Databricks-Notebook oder im SQL-Abfrage-Editor Volumes hinzufügen. Wenn Sie die Unity Catalog REST-API verwenden möchten, lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.

Hinweis

Volumenkommentare sind in Freigaben enthalten, die für einen Empfänger mit Databricks-to-Databricks-Freigabe am oder nach dem 25. Juli 2024 freigegeben werden. Wenn Sie mit der Freigabe von Kommentaren über eine Freigabe beginnen möchten, die vor dem Veröffentlichungsdatum für einen Empfänger freigegeben wurde, müssen Sie den Empfängerzugriff widerrufen und erneut gewähren, um die Kommentarfreigabe auszulösen.

Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts, USE CATALOG und USE SCHEMA für den Katalog und das Schema, das die Volume enthält, und READ VOLUME für die Volume. Sie müssen die Berechtigung READ VOLUME so lange behalten, wie Sie das Volume freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.

Zusätzliche Anforderungen:

  • Die Freigabe von Volume wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
  • Sie müssen ein SQL-Warehouse auf Version 2023.50 oder höher oder einen Cluster unter Databricks Runtime 14.1 oder höher verwenden, wenn Sie einer Freigabe eine Volume hinzufügen.
  • Wenn der Volumespeicher auf der Anbieterseite über benutzerdefinierte Netzwerkkonfigurationen verfügt (z. B. eine Firewall oder eine private Verbindung), muss der Anbieter sicherstellen, dass die Steuerebene und die Datenebenenadressen des Empfängers ordnungsgemäß zugelassen sind, um eine Verbindung mit dem Speicherort des Volumes herstellen zu können.

So fügen Sie Volumes zu einer Freigabe hinzu:

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 Erweiterte Optionen, um einen alternativen Volumenamen oder Aliasanzugeben, um den Volumenamen besser lesbar zu machen.

    Aliase sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen.

    Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Volumenamen nicht verwenden, wenn ein Alias angegeben ist.

  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>];

Beispiele für Optionen:

  • AS <alias>: Ein alternativer Volumename oder Alias, um den Volumenamen besser lesbar zu machen. Der Alias ist der Volumenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Volumenamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<volume-name>.
  • COMMENT "<comment>": Kommentare werden auf der Katalog-Explorer-Benutzeroberfläche sowie beim Auflisten und Anzeigen von Volumedetails mithilfe von SQL-Anweisungen angezeigt.

Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie den folgenden Befehl mit Databricks CLI 0.210 oder höher aus:

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<volume-full-name>",
           "data_object_type": "VOLUME",
           "string_shared_as": "<volume-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<volume-alias>" ist optional und stellt einen alternativen Volumenamen oder Alias bereit, um den Volumenamen besser lesbar zu machen. Der Alias ist der Volumenname, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger können den tatsächlichen Volumenamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<volume-name>.

Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.

Informationen zum Entfernen von Volumes aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.

Hinzufügen von Modellen zu einer Freigabe

In diesem Abschnitt wird beschrieben, wie Sie einer Freigabe mithilfe des Katalog-Explorers, der Databricks-CLI oder von SQL-Befehlen in einem Azure Databricks-Notebook oder im SQL-Abfrage-Editor Modelle hinzufügen. Wenn Sie die Unity Catalog REST-API verwenden möchten, lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.

Hinweis

Modellkommentare und Modellversionskommentare sind in Freigaben enthalten, die mithilfe der Databricks-zu-Databricks-Freigabe freigegeben werden.

Erforderliche Berechtigungen: Besitzer des Freigabeobjekts, USE CATALOG und USE SCHEMA für den Katalog und das Schema, welche das Modell enthalten, und EXECUTE für das Modell. Sie müssen die Berechtigung EXECUTE so lange behalten, wie Sie das Modell freigeben möchten. Weitere Informationen finden Sie in den Anforderungen.

Zusätzliche Anforderungen:

  • Die Modellfreigabe wird nur in der Databricks-zu-Databricks-Freigabe unterstützt.
  • Sie müssen ein SQL-Warehouse auf Version 2023.50 oder höher oder einen Cluster unter Databricks Runtime 14.0 oder höher verwenden, wenn Sie einer Freigabe ein Modell hinzufügen.

So fügen Sie einer Freigabe Modelle hinzu:

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 Erweiterte Optionen, um einen alternativen Modellnamen (oder Alias) anzugeben, um den Modellnamen besser lesbar zu machen.

    Aliase sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen.

    Der Alias ist der Name, den der Empfänger sieht und in Abfragen verwenden muss. Empfänger*innen können den tatsächlichen Modellnamen nicht verwenden, wenn ein Alias angegeben ist.

  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>];

Beispiele für Optionen:

  • AS <alias>: Ein alternativer Modellname (oder Alias), um den Modellnamen besser lesbar zu machen. Der Alias ist der Modellname, den Empfänger*innen sehen und in Abfragen verwenden müssen. Empfänger*innen können den tatsächlichen Modellnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<model-name>.
  • COMMENT "<comment>": Kommentare erscheinen auf der Katalog-Explorer-Benutzeroberfläche sowie beim Auflisten und Anzeigen von Modelldetails mithilfe von SQL-Anweisungen.

Weitere Informationen zu ALTER SHARE-Optionen finden Sie unter ALTER SHARE.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie den folgenden Befehl mit Databricks CLI 0.210 oder höher aus:

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<model-full-name>",
           "data_object_type": "MODEL",
           "string_shared_as": "<model-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<model-alias>" ist optional und stellt einen alternativen Modellnamen (oder Alias) bereit, um den Modellnamen besser lesbar zu machen. Der Alias ist der Modellname, den Empfänger*innen sehen und in Abfragen verwenden müssen. Empfänger*innen können den tatsächlichen Modellnamen nicht verwenden, wenn ein Alias angegeben ist. Verwenden Sie das Format <schema-name>.<model-name>.

Um mehr über zusätzliche Parameter zu erfahren, führen Sie databricks shares update --help aus oder lesen Sie PATCH /api/2.1/unity-catalog/shares/ im REST-API-Dokument.

Informationen zum Entfernen von Modellen aus einer Freigabe finden Sie unter Aktualisieren von Freigaben.

Hinzufügen von Schemas zu einer Freigabe

Wenn Sie einer Freigabe ein gesamtes Schema hinzufügen, haben Ihre Empfänger nicht nur Zugriff auf alle Datenressourcen im Schema zum Zeitpunkt der Freigabeerstellung, sondern auch auf alle Ressourcen, die dem Schema im Laufe der Zeit hinzugefügt werden. Dazu gehören alle Tabellen, Ansichten und Volumes im Schema. Auf diese Weise freigegebene Tabellen enthalten immer den vollständigen Verlauf.

Das Hinzufügen, Aktualisieren oder Entfernen von Schemas in einer Freigabe mithilfe von SQL erfordert ein SQL-Warehouse oder Compute mit Databricks Runtime 13.3 LTS oder höher. Die gleiche Vorgehensweise mit dem Katalog-Explorer hat keine Computeanforderungen.

Erforderliche Berechtigungen: Besitzer*in des Freigabeobjekts und Besitzer*in des Schemas (oder ein*e Benutzer*in mit den Berechtigungen USE SCHEMA und SELECT für das Schema).

Um einer Freigabe ein Schema hinzuzufügen, befolgen Sie die Anweisungen unter Hinzufügen von Tabellen zu einer Freigabe. Achten Sie dabei auf den Inhalt, in dem das Hinzufügen eines Schemas erläutert wird.

Tabellenaliase, Partitionen und Volumealiase sind nicht verfügbar, wenn Sie ein gesamtes Schema auswählen. Wenn Sie Aliase oder Partitionen für Ressourcen im Schema erstellt haben, werden diese entfernt, wenn Sie das gesamte Schema zur Freigabe hinzufügen.

Wenn Sie erweiterte Optionen für eine Tabelle oder Volume angeben möchten, die Sie mithilfe der Schemafreigabe freigeben möchten, müssen Sie die Tabelle oder Volume mithilfe von SQL freigeben und der Tabelle oder Volume einen Alias mit einem anderen Schemanamen zuweisen.

Hinzufügen von Notebook-Dateien zu einer Freigabe

Verwenden Sie den Katalog-Explorer, um einer Freigabe eine Notebook-Datei hinzuzufügen.

Hinweis

Um Notebooks freizugeben, muss Ihr Metastore über Speicher auf Metastoreebene verfügen.

Erforderliche Berechtigungen: Besitzer des Freigabeobjekts mit der KANN LESEN-Berechtigung für das Notebook, das Sie freigeben möchten.

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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, der Empfängern angezeigt wird.

  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 in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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. Wählen Sie rechts neben der Zeile das Optionsmenü Kebab-Menü aus, und wählen Sie Notebookdatei 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 die verdeutlicht, dass das Notebook überarbeitet wurde, z. B. <old-name>-update-1. Möglicherweise müssen Sie den Empfänger über die Änderung benachrichtigen. Der Empfänger muss das neue Notebook auswählen und klonen, um das Update nutzen zu können.

Gewähren von Zugriff auf eine Freigabe für Empfänger

Wenn Sie Empfängern Zugriff auf eine Freigabe gewähren möchten, können Sie hierzu den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl GRANT ON SHARE in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Erforderliche Berechtigungen: Eine der folgenden Berechtigungen:

  • Metastore-Administrator.
  • Delegierte Berechtigungen oder Besitz sowohl für die Freigabe als auch für die Empfängerobjekte ((USE SHARE + SET SHARE PERMISSION) oder Besitzer der Freigabe) UND (USE RECIPIENT oder Besitzer des Empfängers).

Anweisungen finden Sie unter Verwalten des Zugriffs auf Delta Sharing-Datenfreigaben (für Anbieter). In diesem Artikel wird auch erläutert, wie Sie den Zugriff eines Empfängers für eine Freigabe widerrufen können.

Anzeigen von Freigaben und Freigabedetails

Zum Anzeigen einer Liste der Freigaben oder von Details zu einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Erforderliche Berechtigungen: Die zurückgegebene Freigabeliste hängt von Ihrer Rolle und Ihren Berechtigungen ab. Metastore-Administratoren und Benutzer mit dem Recht USE SHARE sehen alle Freigaben. Andernfalls können Sie nur die Freigaben sehen, für die Sie als Besitzer des Freigabeobjekts fungieren.

Zu den Details gehören:

  • Freigabebesitzer, Ersteller, Zeitstempel der Erstellung, Updater, Zeitstempel der Aktualisierung, Kommentare
  • Datenressourcen in der Freigabe.
  • Empfänger mit Zugriff auf die Freigabe

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 können Sie <pattern> durch ein LIKE-Prädikat ersetzen.

SHOW SHARES [LIKE <pattern>];

Führen Sie den folgenden Befehl aus, um Details zu einer bestimmten Freigabe anzuzeigen.

DESCRIBE SHARE <share-name>;

Führen Sie den folgenden Befehl aus, um Details zu allen Tabellen, Ansichten und Volumes in einer Freigabe anzuzeigen.

SHOW ALL IN SHARE <share-name>;

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie den folgenden Befehl über die Databricks CLI aus, um eine Liste der Freigaben anzuzeigen.

databricks shares list

Führen Sie den folgenden Befehl aus, um Details zu einer bestimmten Freigabe anzuzeigen.

databricks shares get <share-name>

Anzeigen der Empfänger mit Berechtigungen für eine Freigabe

Zum Anzeigen einer Liste der Freigaben, auf die ein Empfänger zugreifen darf, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW GRANTS TO RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Erforderliche Berechtigungen: Metastore-Administrator, das Recht USE SHARE oder Besitzer des Freigabeobjekts.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

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

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie über die Databricks CLI den folgenden Befehl aus.

databricks shares share-permissions <share-name>

Aktualisieren von Freigaben

Zusätzlich zum Hinzufügen von Tabellen, Ansichten, Volumes und Notebooks zu einer Freigabe können Sie Folgendes ausführen:

  • Umbenennen einer Freigabe
  • Entfernen Sie Tabellen, Ansichten, Volumes und Schemas aus einer Freigabe.
  • Hinzufügen oder Aktualisieren eines Kommentars zu einer Freigabe
  • Aktivieren oder deaktivieren Sie den Zugriff auf die Verlaufsdaten einer Tabelle, sodass Empfänger Zeitreiseabfragen oder Streaming für Lesevorgänge der Tabelle ausführen können.
  • Hinzufügen, Aktualisieren oder Entfernen von Partitionsdefinitionen
  • Ändern des Freigabebesitzers

Zum Durchführen dieser Aktualisierungen für Freigaben können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden. Sie können den Katalog-Explorer nicht zum Umbenennen der Freigabe verwenden.

Erforderliche Berechtigungen: Um den Freigabebesitzer zu aktualisieren, müssen Sie eine der folgenden Rollen haben: Metastoreadministrator, Besitzer des Freigabeobjekts oder Benutzer mit den Rechten USE SHARE und SET SHARE PERMISSION . Zum Aktualisieren des Freigabenamens müssen Sie ein Metastore-Administrator (oder ein Benutzer mit der Berechtigung CREATE_SHARE) und der Freigabebesitzer sein. Sie müssen der Besitzer sein, um alle weiteren Freigabeeigenschaften zu aktualisieren.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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 Bearbeitungssymbol Symbol „Bearbeiten“ neben dem Feld „Besitzer“ oder „Kommentar“, um diese Werte zu aktualisieren.
  • Wählen Sie die Kebab-Menüschaltfläche Kebab-Menü in einer Objektzeile, um sie zu entfernen.
  • Klicken Sie auf Ressourcen verwalten > Ressourcen bearbeiten, um alle anderen Eigenschaften zu aktualisieren:
    • Um eine Ressource zu entfernen, deaktivieren Sie das Kontrollkästchen neben der Ressource.
    • Um Partitionsdefinitionen hinzuzufügen, zu aktualisieren oder zu entfernen, klicken Sie auf Erweiterte Optionen.

SQL

Führen Sie die folgenden Befehle in einem Notebook oder im Databricks-SQL-Editor aus.

Umbenennen einer Freigabe:

ALTER SHARE <share-name> RENAME TO <new-share-name>;

Entfernen von Tabellen aus einer Freigabe:

ALTER SHARE share_name REMOVE TABLE <table-name>;

Entfernen von Volumes aus einer Freigabe:

ALTER SHARE share_name REMOVE VOLUME <volume-name>;

Hinzufügen oder Aktualisieren eines Kommentars zu einer Freigabe:

COMMENT ON SHARE <share-name> IS '<comment>';

Hinzufügen oder Ändern von Partitionen für eine Tabelle in einer Freigabe:

ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);

Ändern des Freigabebesitzers:

ALTER SHARE <share-name> OWNER TO  '<principal>'

-- Principal must be an account-level user email address or group name.

Aktivieren der Verlaufsfreigabe für eine Tabelle:

ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;

Ausführliche Informationen zu ALTER SHARE-Parametern finden Sie unter ALTER SHARE.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie über die Databricks CLI die folgenden Befehle aus.

Umbenennen einer Freigabe:

databricks shares update <share-name> --name <new-share-name>

Entfernen von Tabellen aus einer Freigabe:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

Entfernen Sie Volumes aus einer Freigabe (mit Databricks CLI 0.210 oder höher):

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<volume-full-name>",
          "data_object_type": "VOLUME",
          "string_shared_as": "<volume-alias>"
        }
      }
    ]
  }'

Hinweis

Verwenden Sie die name-Eigenschaft, wenn kein Alias für das Volume vorhanden ist. Verwenden Sie string_shared_as, wenn ein Alias vorhanden ist.

Hinzufügen oder Aktualisieren eines Kommentars zu einer Freigabe:

databricks shares update <share-name> --comment '<comment>'

Ändern des Freigabebesitzers:

databricks  shares update <share-name> --owner '<principal>'

Der Prinzipal muss eine Benutzer-E-Mail-Adresse oder ein Gruppenname auf Kontoebene sein.

Löschen einer Freigabe

Zum Löschen einer Freigabe können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl DELETE SHARE in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden. Sie müssen ein Besitzer der Freigabe sein.

Wenn Sie eine Freigabe löschen, können Empfänger nicht länger auf die freigegebenen Daten zugreifen.

Erforderliche Berechtigungen: Besitzer des Freigabeobjekts.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“ Katalog.

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

    Klicken Sie alternativ auf der Seite Schnellzugriff auf die Schaltfläche Delta Sharing >.

  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. Wählen Sie das Kebab-Menü Optionsmenü und dann 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>;

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Führen Sie über die Databricks-CLI den folgenden Befehl aus.

databricks shares delete <share-name>