Erstellen und arbeiten Sie mit Ausgabetabellen in Clean Rooms von Databricks

Diese Seite führt in Ausgabetabellen ein, bei denen es sich um temporäre schreibgeschützte Tabellen handelt, die durch einen Notizbuchlauf generiert und im Unity-Katalog-Metadatenspeicher des Notizbuch-Runners freigegeben werden. In diesem Artikel wird beschrieben, wie Sie mit einem Notizbuch Ausgabetabellen erstellen und wie Läufer diese Ausgabetabellen im Unity Catalog-Metaspeicher lesen können.

Übersicht der Ausgabetabellen

Mithilfe von Ausgabetabellen können Sie die Ausgabe von Notizbüchern, die in einem reinen Raum ausgeführt werden, in einem Ausgabekatalog im Unity-Katalog-Metaspeicher speichern, in dem Sie die Daten mitgliedern Ihres Teams zur Verfügung stellen können, die nicht in der Lage sind, die Notizbücher selbst auszuführen. Sie können auch Lakeflow-Jobs verwenden, um Notebooks auszuführen und Aufgaben an Ausgabetabellen durchzuführen. Kombiniert mit der Klarraum-Notizbuch-Vorgangsart und dem Support für Aufgabenwerte ermöglichen Ausgabetabellen das Erstellen komplexer Workflows, die von Klarraum-Notizbüchern abhängen.

Ausgabetabellen sind schreibgeschützt.

Nur der spezifische Prinzipal (Benutzer, Benutzergruppe oder Dienstprinzipal), der das Notizbuch ausführt, hat standardmäßig Lesezugriff auf die Ausgabetabelle. Es gibt keinen Schreibzugriff. Ein Metastore-Administrator kann anderen Prinzipalen in seinem Azure Databricks-Konto mithilfe von Unity Catalog-Berechtigungen Lesezugriff gewähren.

Um die Ausgabe stattdessen allen Mitwirkenden im Reinraum verfügbar zu machen, schreiben Sie in ein gemeinsames Ausgabeschema. Siehe Ausgabe für alle Mitwirkenden freigeben.

Ausgabetabellen werden 30 Tage lang am Standardspeicherort des zentralen Reinraums gespeichert und über OpenSharing für den Metastore des Runners freigegeben. Wenn Sie eine Ausgabetabelle länger als 30 Tage behalten möchten, müssen Sie sie in den lokalen Speicher kopieren.

Jeder Notizbuchlauf erstellt ein neues Schema im Ausgabekatalog. Neue Ausführungen können keine bestehende Ausgabetabelle anfügen.

Hinweis

Mitarbeiter in Databricks in allen drei Clouds – AWS, Azure und Google Cloud – können Notizbücher freigeben, die Ausgabetabellen erstellen und Ausgabetabellen lesen können, die generiert werden, wenn sie freigegebene Notizbücher ausführen.

Ausgabetabelle erstellen

Um eine Ausgabetabelle zu erstellen, verwenden Sie die Parameter cr_output_catalog und cr_output_schema im dreiteiligen Tabellen-Namespace. Jeder Ausführung des Notizbuchs erzeugt ein neues Schema.

Im folgenden Beispiel erstellt die Notizbuchzelle eine Ausgabetabelle namens overlapping_users im Ausgabekatalog des Läufers, die die Benutzer auflistet, deren E-Mail-Adresse sowohl in den collaborator.advertiser.profiles als auch in den creator.publisher.profiles Tabellen erscheint.

CREATE TABLE identifier(:cr_output_catalog || '.' || :cr_output_schema || '.overlapping_users') AS
SELECT collab_profiles.*
FROM collaborator.advertiser.profiles AS collab_profiles
JOIN creator.publisher.profiles AS creator_profiles
ON collab_profiles.email = creator_profiles.email

Ausgabe mit allen Mitwirkenden teilen

Important

Dieses Feature befindet sich in der Public Preview.

Standardmäßig kann auf eine Ausgabetabelle nur für die Mitarbeiter zugegriffen werden, die das Notizbuch ausführen, und erst nachdem die Ausführung erfolgreich abgeschlossen wurde. Mit freigegebener Ausgabe kann eine Notebookausführung auch in ein freigegebenes Ausgabeschema schreiben, das jedes Teammitglied sofort lesen kann, auch bevor die Ausführung abgeschlossen ist.

Eine einzelne Notizbuchausführung kann in beide Schemas schreiben:

  • Verwenden Sie cr_output_schema, um Tabellen zu schreiben, die nur der Runner lesen kann.
  • Verwende cr_shared_output_schema, um Tabellen zu erstellen, die alle Mitwirkenden lesen können.

Bevor Sie anfangen

  • Erstellende müssen einen neuen Reinraum mit aktivierter Option Freigegebene Ausgabe erstellen. Die freigegebene Ausgabe wird beim Erstellen des Reinraums festgelegt und kann danach nicht mehr geändert werden. Auf der Reinraum-Detailseite wird Ausgabe aktiviert angezeigt, wenn die freigegebene Ausgabe aktiviert ist.

  • Erstellen Sie den Ausgabekatalog direkt nach dem Erstellen des Reinraums. Weitere Informationen finden Sie unter Vorbereitung. Wenn Sie den Ausgabekatalog nach einer Ausführung erstellen, verfügen Mitarbeiter möglicherweise nicht über die erforderlichen Berechtigungen für das freigegebene Ausgabeschema. Der Besitzer des Reinraums muss ihm danach die Berechtigungen erteilen.

In das freigegebene Ausgabeschema schreiben

Verwenden Sie in einem Notizbuch den cr_shared_output_schema Parameter im dreiteiligen Tabellennamespace. Im folgenden Beispiel werden Ergebnisse geschrieben, die alle Mitarbeiter lesen können:

CREATE TABLE identifier(:cr_output_catalog || '.' || :cr_shared_output_schema || '.audience_overlap') AS
SELECT creator_profiles.segment_id, COUNT(DISTINCT collab_profiles.email) AS overlap_count
FROM collaborator.advertiser.profiles AS collab_profiles
JOIN creator.publisher.profiles AS creator_profiles
ON collab_profiles.email = creator_profiles.email
GROUP BY creator_profiles.segment_id

Tabellen im freigegebenen Ausgabeschema sind für alle Mitarbeiter verfügbar, sobald sie erstellt werden, auch bevor die Ausführung abgeschlossen ist. Tabellen, die Sie in den nur für den Runner bestimmten cr_output_schema schreiben, sind nur für den Runner verfügbar, und zwar nur, nachdem der Lauf erfolgreich abgeschlossen wurde.

Bei JAR-Analysen fügt Clean Rooms automatisch das freigegebene Ausgabeschema als Parameter ein --cr_shared_output_schema <value> , auf den Ihr JAR verweisen kann. Siehe Ausführen von JAR-Workloads in Azure Databricks Clean Rooms.

Das freigegebene Ausgabeschema wird nach 30 Tagen automatisch gelöscht.

Lesen einer Ausgabetabelle

Ausgabetabellen erscheinen in einem freigegebenen Katalog im Metadatenspeicher des Notizbuch-Runners. Im Katalog-Explorer Katalog Bereich erscheinen sie in der Shared Kataloge-Liste.

Das Lesen einer Ausgabetabelle ist wie das Lesen jeder anderen Tabelle im Unity-Katalog. Sie benötigen SELECT für die Tabelle, USE CATALOG für dem freigegebenen Ausgabekatalog und USE SCHEMA für das automatisch generierte Schema. Der Benutzer, der das Notizbuch ausgeführt hat, das die Tabelle erstellt hat, hat standardmäßig diese Berechtigungen.

Hinweis

Beim Löschen eines Reinraums werden alle Ausgabetabellen und historischen Daten aus dem Ausgabekatalog entfernt.

Vorbereitung

Dieser Abschnitt beschreibt Cloud-, Konfigurations- und Computeanforderungen für das Lesen von Ausgabetabellen.

Anforderung für den freigegebenen Ausgabekatalog

Bevor Sie Ausgabetabellen lesen können, muss ein Benutzer den Katalog erstellen, der sie hält. Sie müssen dies nur einmal pro Clean Room tun. Die besitzende Person des Reinraums verfügt standardmäßig über die Berechtigung zum Lesen und Verwalten des Ausgabekatalogs.

Berechtigungen erforderlich: EXECUTE CLEAN ROOM TASK

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Datensymbol.Katalog.
  2. Klicken Sie auf die Schaltfläche "Räume >bereinigen".
  3. Wählen Sie den Reinraum in der Liste aus.
  4. Im rechten Bereich, unter „Ausgabe“, klicken Sie auf „Katalog erstellen“.
  5. Geben Sie einen Ausgabekatalognamen ein oder akzeptieren Sie den Standard, der <clean-room-name>_output ist.

Der Ausstoßkatalog erscheint in der Liste der Shared Kataloge im Katalog-Explorer Katalog Bereich. Jeder Reinraum, an dem Sie teilnehmen, kann über einen freigegebenen Ausgabekatalog in Ihrem Metastore verfügen.

Computeanforderungen

Abfragen zu Ausgabetabellen erfordern serverloses Compute. Siehe Herstellen einer Verbindung mit serverlosem Compute.

Berechtigungen erforderlich, um eine Ausgabetabelle zu lesen

Der Benutzer, der das Notebook ausgeführt hat, das die Ausgabetabelle erstellt hat, und der Besitzer des Reinraums haben standardmäßig die Berechtigung, die Ausgabetabelle zu lesen und zu verwalten. Alle anderen Benutzer müssen die folgenden Berechtigungen zugewiesen bekommen:

  • SELECT auf der Tabelle
  • USE CATALOG auf dem Katalog
  • USE SCHEMA auf dem Ausgabeschema

Ausführen des Notebooks

Um freigegebene Ausgabetabellen in Ihrem Ausgabekatalog zu generieren, muss das Notebook von Benutzenden mit Zugriff auf den Reinraum ausgeführt werden. Weitere Informationen finden Sie unter Ausführen von Notebooks in Reinräumen. Jeder Notizbuchlauf erstellt ein neues Ausstoßschema und eine neue Tabelle.

Tipp

Sie können Lakeflow-Aufträge verwenden, um Notizbücher auszuführen, Aufgaben an Ausgabetabellen auszuführen und um komplexe Workflows zu ermöglichen. Siehe Nutzung von Lakeflow Jobs, um Klarraum-Notizbücher auszuführen.

Suchen und Ansicht einer Ausgabetabelle

Benutzende, die das Notebook ausführen, das die Ausgabetabelle erstellt, finden einen Link zur Ausgabetabelle im Verlauf des Notebooks und auf den Detailseiten auf der Benutzeroberfläche für Reinräume. In beiden Fällen befindet sich die Verknüpfung im Ausstoßschema-Feld. Weitere Informationen finden Sie unter Überwachen von Notebookausführungen in Reinräumen.

Ausführungsverlauf:

Link zum Ausgabeschema im Ausführungsverlauf

Ausführungsdetails:

Ausgangs-Schema-Verknüpfung in Ausführungsdetails

Sie können den Ausgabekatalog auch in der Liste der Shared Kataloge im Katalog-Explorer Katalog Bereich finden.

Einschränkungen

Zusätzlich zu den in „Übersicht der Ausgabetabellen“ und „Bevor Sie beginnen“ aufgeführten Anforderungen haben Ausgabetabellen die folgenden Einschränkungen:

  • Ausgabetabellen werden nur unterstützt, wenn der Raum nach der Veröffentlichung des Ausgabetabellen-Features erstellt wurde.
  • Es werden nur Tabellen unterstützt. Für Volumes und Sichten gilt dies z. B. nicht.
  • Sie sind in der Anzahl der Ausgabetabellen begrenzt, die jedes Notizbuch unterstützen kann. Sie Ressourceneinschränkungen.