Verwenden von Snowflake Collaboration Data Clean Rooms¶
Dieses Thema bietet eine allgemeine Anleitung zur Verwendung von Collaboration Data Clean Rooms. Außerdem finden Sie Einzelheiten zu allen wichtigen Schritten, die erforderlich sind, um eine Zusammenarbeit zu erstellen oder an dieser zu teilnehmen.
Anforderungen¶
Snowflake Data Clean Rooms muss auf die neueste Version aktualisiert sein.
Eigentümer und Datenanbieter müssen die Snowflake Enterprise Edition verwenden. Analysenausführende können die Standard Edition verwenden.
Sie benötigen Zugriff auf die Data Clean Rooms Collaboration- API, um Zusammenarbeiten sehen oder verwalten zu können. Weitere Informationen dazu finden Sie unter Verwalten des Zugriffs auf die DCR Collaboration-API.
Sie sollten Sekundärrollen in Ihrer Umgebung deaktivieren, wenn Sie die Collaboration-API verwenden:
Grundlegender Workflow für die Zusammenarbeit im Clean Room¶
Hier ist ein einfaches Szenario für die Zusammenarbeit im Clean Room:
Der Eigentümer der Zusammenarbeit kann optional alle Vorlagen oder Datenangebote registrieren, die in der anfänglichen Konfiguration der Zusammenarbeit vorhanden sein sollen.
Der Eigentümer bittet optional alle vorgesehenen Teilnehmenden, Vorlagen oder Datenangebote zu registrieren, die in der Erstkonfiguration der Zusammenarbeit angezeigt werden sollen. Die Mitarbeiter geben dann die Ressourcen-IDs von allen Elementen an, die sie registriert haben.
Der Eigentümer erstellt dann eine Zusammenarbeit. Die Zusammenarbeit wird durch eine Zusammenarbeits-YAML-Spezifikation definiert, die die Teilnehmenden, deren Rollen und alle Ressourcen auflistet, die in der ersten Version der Zusammenarbeit vorhanden sein sollen.
Wenn eine Zusammenarbeit erstellt wird, ist die Menge der Teilnehmenden und ihrer Rollen festgelegt: Nur Teilnehmende mit einer Rolle in der Definition der Zusammenarbeit werden zum Beitritt eingeladen. Ebenso ist der Satz der Analyseausführenden festgelegt. Jeder Teilnehmende kann jedoch auch ein Datenanbieter werden, indem er neue Daten mit der Zusammenarbeit verknüpft.
Wenn Ihre Zusammenarbeit Benutzende in anderen Cloudhosting-Regionen umfasst, müssen diese die Cloud-übergreifende automatische Ausführung für ihr Konto aktivieren, bevor sie die Zusammenarbeit überprüfen und ihr beitreten können.
Der Eigentümer tritt der von ihm erstellten Zusammenarbeit bei, wodurch die Zusammenarbeit aktiv wird. Die Zusammenarbeit ist jetzt für jeden Teilnehmenden in der Spezifikation sichtbar und zum Beitreten verfügbar.
Teilnehmende überprüfen die Zusammenarbeit und treten ihr bei.
Teilnehmende können dann optional Ressourcen zur Zusammenarbeit hinzufügen, wie z. B. Vorlagen, und, auch wenn es sich um einen Datenanbieter handelt, Datenangebote.
Analyseausführende können dann alle Vorlagen ausführen, die ihnen in der Zusammenarbeit zugewiesen sind, wobei sie alle Daten verwenden können, die ihnen in der Zusammenarbeit zur Verfügung stehen (sowie optional nicht freigegebene lokale Daten). Der Analyseausführende trägt die Kosten der Analyse. Vorlagen können die Abfrageergebnisse entweder in der Antwort zurückgeben oder Ergebnisse für den Aufrufenden oder einen anderen Teilnehmenden aktivieren.
In den folgenden Abschnitten werden die Details zu jedem dieser Schritte beschrieben.
Erstellen einer Zusammenarbeit¶
Um eine Zusammenarbeit zu erstellen, entwerfen Sie eine Zusammenarbeitsspezifikation, die alle Teilnehmenden und deren Rollen definiert. Optional registriert der Eigentümer der Zusammenarbeit sie und verknüpft alle anderen Ressourcen, die im Rahmen der anfänglichen Zusammenarbeit zur Verfügung gestellt werden sollen, und er schließt die Ressourcen in die Zusammenarbeitsspezifikation ein. Wenn der Eigentümer erwartet, dass Ressourcen von Teilnehmenden verwendet werden, kann der Eigentümer diese Benutzenden auch auffordern, ihre Ressourcen zu registrieren und dem Eigentümer die Ressourcen-IDs zu nennen, die in die Zusammenarbeitsspezifikation aufgenommen werden sollen.
Der Eigentümer ruft dann INITIALIZE auf, um mit der Erstellung der Zusammenarbeit zu beginnen. Standardmäßig verbindet INITIALIZE auch automatisch den Eigentümer mit der Zusammenarbeit. Dies ist ein asynchroner Prozess, daher muss GET_STATUS so lange aufgerufen werden, bis der Status JOINED lautet. Wenn der Status der Zusammenarbeit JOINED lautet, ist die Zusammenarbeit aktiv, und alle Teilnehmenden können die Zusammenarbeit sehen und ihr beitreten.
Ressourcen zu einer Zusammenarbeit hinzufügen¶
Jeder Teilnehmende kann Ressourcen zu einer Zusammenarbeit hinzufügen oder Ressourcen entfernen, die er der Zusammenarbeit hinzugefügt hat. Es gibt zwei Schritte, um eine Ressource zu einer Zusammenarbeit hinzuzufügen:
Der Ressourceneigentümer erstellt eine Ressourcendefinitionsspezifikation für die Ressource und verwendet sie, um die Ressource in seinem Konto zu registrieren. Sie können die Ressource in der Standard-Registry Ihres Kontos registrieren, oder Sie können eine benutzerdefinierte Registry verwenden.
Ein Teilnehmender verknüpft die Ressource mit einer Zusammenarbeit. Nachdem die Ressource mit verknüpft wurde, kann sie von den angegebenen Teilnehmenden verwendet werden. Einige Ressourcentypen, wie z. B. Vorlagen, können von jedem Teilnehmenden eingebunden werden. Andere Ressourcen, wie z. B. Datenangebote, können nur von Benutzenden mit einer Datenanbieterrolle verknüpft werden. Ressourcen stehen in der Regel nur bestimmten Teilnehmenden zur Verfügung, die in der Zusammenarbeitsspezifikation und der Ressourcenfreigabe definiert sind.
Ressourcen können einer Zusammenarbeit entweder vor oder nach dem Erstellen einer Zusammenarbeit hinzugefügt werden.
Ressourcen unterstützen die Versionierung. Das Erstellen einer neuen Ressource mit einer neuen Version entfernt jedoch nicht die vorherige Version aus der Zusammenarbeit.
Ressourcen werden eindeutig benannt, indem der vom Benutzenden angegebene Name und die Version (und Alias bei Datenangeboten) kombiniert werden.
Sie können die folgenden Ressourcen zu einer Zusammenarbeit hinzufügen:
Vorlagen¶
Vorlagen sind JinjaSQL-Clean Room-Vorlagen, die von festgelegten Teilnehmenden ausgeführt werden können. Jeder Teilnehmende kann eine Vorlage registrieren und zu einer Zusammenarbeit hinzufügen, solange alle betroffenen Teilnehmenden die Anfrage genehmigen, wie in den folgenden Schritten beschrieben. Sie können nur Vorlagen hinzufügen oder entfernen, die in Ihrem Konto registriert sind.
So fügen Sie eine Vorlage zu einer Zusammenarbeit hinzu:
Entwerfen Sie eine Vorlage für die Zusammenarbeit, und betten Sie sie in eine Vorlagenspezifikation ein.
Registrieren Sie die Vorlage, indem Sie
REGISTRY.REGISTER_TEMPLATEaufrufen. Dadurch wird eine Vorlagen-ID zurückgegeben.Verknüpfen Sie die Vorlage. Der Prozess hängt davon ab, ob die Zusammenarbeit bereits vorhanden ist:
Um eine Vorlage vor dem Erstellen der Zusammenarbeit hinzuzufügen, geben Sie die Vorlagen-ID an den Eigentümer der Zusammenarbeit weiter, der sie zur Zusammenarbeitsspezifikation hinzufügt und definiert, wer sie ausführen kann.
Um eine Vorlage zu einer vorhandenen Zusammenarbeit hinzuzufügen, müssen Sie bei allen von der Vorlage betroffenen Teilnehmenden die Berechtigung anfragen. Führen Sie die folgenden Schritte aus, um eine Vorlage zu einer vorhandenen Zusammenarbeit hinzuzufügen:
Rufen Sie
REGISTER_TEMPLATEauf, um die Vorlage in Ihrem Konto zu registrieren, damit sie zu Zusammenarbeiten hinzugefügt werden kann.Rufen Sie
ADD_TEMPLATE_REQUESTmit der Vorlagen-ID auf, um den Genehmigungsablauf zu starten und die Vorlage zu einer bestimmten Zusammenarbeit für bestimmte Benutzende hinzuzufügen.Alle von der Ressource betroffenen Teilnehmenden sehen die Anfrage, wenn sie
VIEW_UPDATE_REQUESTSaufrufen.Teilnehmende, denen die Anfrage mit dem Status PENDING angezeigt wird, sollten
APPROVE_UPDATE_REQUESToderREJECT_UPDATE_REQUESTaufrufen.Wenn ein Teilnehmender die Anfrage ablehnt, wird die Aktualisierungsanfrage abgelehnt.
Mitarbeitende können später eine Genehmigung nicht in eine Ablehnung oder eine Ablehnung in eine Genehmigung ändern.
Wenn der Status der Anfrage APPROVED ist, steht die Vorlage den in der Anfrage zum Hinzufügen einer Vorlage angegebenen Benutzenden zur Verfügung. Wenn die Anforderung REJECTED ist, ist jeder von der ablehnenden Seite angegebene Grund im Anfragebericht sichtbar. Nachdem eine Vorlage von allen Benutzenden genehmigt wurde, kann es eine kurze Verzögerung geben, bevor die Vorlage verfügbar ist. Rufen Sie
view_templatesauf, wenn Sie sicherstellen möchten, dass die Vorlage für die Verwendung verfügbar ist.
Tipp
Um zu sehen, welche Vorlagen Sie registriert haben, rufen Sie REGISTRY.VIEW_REGISTERED_TEMPLATES auf.
Vorlagenentwurf für eine Zusammenarbeit¶
Zusammenarbeitsvorlagen gleichen Clean Room-Vorlagen, wobei es einige Besonderheiten zu beachten gibt:
Freigegebene Tabellen, die in der Zusammenarbeit aufgeführt sind, werden verwendet, um die
source_table-Variable der Vorlage auszufüllen.my_tablewird nur verwendet, wenn ein Analyseausführender lokale, nicht freigegebene Daten verwenden möchte. Wenn Sie diemy_table-Variable in einer Vorlage verwenden, müssen Sie beachten, dass Tabellen, die dieser Variablen zugewiesen sind, nicht für die Zusammenarbeit freigegeben werden.Spalten aus den Datenquellen haben möglicherweise neue Namen, wenn sie für die Vorlage oder den Benutzenden zugänglich sind. Unter Umbenennen der Quellspalte erfahren Sie mehr darüber, wie und wann Quellspalten umbenannt werden. Vorlagen und vom Benutzenden bereitgestellte Argumente (z. B. der Name einer Verknüpfungsspalte) sollten den endgültigen Namen und nicht den ursprünglichen Namen verwenden, wenn die Spalte umbenannt wird.
Aktivierungsvorlagen in einer Zusammenarbeit müssen nicht
activation_template_namebenannt werden. Alle anderen Anforderungen an die Aktivierungsvorlage gelten weiterhin.
Informationen zur Syntax benutzerdefinierter Vorlagen in Snowflake Data Clean Rooms finden Sie unter Referenz für benutzerdefinierte Clean Room-Vorlagen.
Datenangebote¶
Ein Datenangebot ist ein Satz von einer oder mehreren Datenansichten, die für in einer Zusammenarbeit für bestimmte Analyseausführende freigegeben werden. Datenangebote können von allen in einer Zusammenarbeit aufgeführten Datenanbietern hinzugefügt werden. Datenangebote werden in einem Bereichsformat als data offering ID.alias angezeigt, wobei der Alias eine bestimmte Ansicht im Datenangebot ist. Sie können Datenangebote nur dann für bestimmte Teilnehmende freigeben, wenn Sie in als Datenanbieter für diesen Analyseausführenden in den Zusammenarbeitsspezifikationen aufgeführt sind.
Ein Datenangebot ist eine Live-Ansicht der Daten und kein Snapshot der Daten zum Zeitpunkt der Erstellung oder Registrierung des Datenangebots. Alle Snowflake-Richtlinien, die auf die Quelldaten angewendet werden, sind in der Zusammenarbeit aktiv.
Wenn Sie ein Datenangebot registrieren, erstellt Snowflake eine Ansicht für jede in der Spezifikation des Datenangebots aufgeführte Datenquelle. Die Ansicht enthält nur die Spalten, die in der Spezifikation des Datenangebots aufgeführt sind. Wenn Sie ein Datenangebot mit einer Zusammenarbeit verknüpfen, erstellt Snowflake eine Kopie dieser Ansicht, die mit geschütztem Zugriff für alle Analyseausführenden versehen ist, die auf dieses Datenangebot zugreifen können, gemäß der Zusammenarbeitsspezifikation. Wenn Sie die zugrunde liegenden Tabellen verschieben, umbenennen oder die Zugriffsberechtigungen für die Tabellen ändern, wird das Datenangebot über alle zuvor registrierten Links nicht mehr verwendbar.
Wenn Sie die Snowflake Standard Edition verwenden, können Sie keine Datenangebote gemeinsam mit anderen Teilnehmenden verwenden. Aber Sie können Ihre eigenen Daten in einer Abfrage verwenden.
Anforderungen:
Sie müssen OWNERSHIP für alle Daten haben, die Sie freigeben möchten. Wenn Sie dies nicht tun, erhalten Sie beim Versuch, der Zusammenarbeit beizutreten, die Fehlermeldung, dass eine Referenznutzungsberechtigung fehlt. Erfahren Sie, wie Sie mit diesem Problem umgehen können.
Sie müssen die Datenanbieterrolle für eine Zusammenarbeit haben.
Datenangebote werden mit den folgenden Schritten zu einer Zusammenarbeit hinzugefügt:
Erstellen Sie eine Datenangebotsspezifikation für Ihre Daten.
Registriert das Datenangebot, indem
REGISTRY.REGISTER_DATA_OFFERINGaufgerufen wird, wodurch eine Datenangebots-ID zurückgegeben wird.Durch diesen Schritt wird das Datenangebot verfügbar, um mit jeder Zusammenarbeit verknüpft zu werden, auf die Sie zugreifen können. Sie können dieselbe Datenangebots-ID zur Freigabe eines Datenangebots für mehrere Kooperationen verwenden.
Der nächste Schritt hängt davon ab, ob die Zusammenarbeit erstellt wurde oder nicht:
Wenn die Zusammenarbeit noch nicht erstellt wurde, gibt der Datenanbieter die Datenangebots-ID an den Ersteller der Zusammenarbeit, damit sie zur Zusammenarbeitsdefinition hinzugefügt wird. Wenn ein Datenangebot zur Definition der Zusammenarbeit hinzugefügt wird, ist das Datenangebot für jeden in der Zusammenarbeit sichtbar, nachdem der Datenanbieter der Zusammenarbeit beigetreten ist.
Wenn die Zusammenarbeit bereits erstellt wurde, tritt der Datenanbieter der Zusammenarbeit bei und ruft
COLLABORATION.LINK_DATA_OFFERINGmit der Datenangebots-ID, dem Namen der Zusammenarbeit und den Personen, für die die Daten freigegeben werden können, auf. Nachdem ein Datenangebot von allen Benutzenden genehmigt wurde, kann es eine kurze Verzögerung geben, bevor das Datenangebot zur Nutzung zur Verfügung steht. Rufen Sieview_data_offeringsauf, wenn Sie sicherstellen möchten, dass die Daten für die Nutzung verfügbar sind.
Sie können Datenressourcen aus einer Zusammenarbeit entfernen, indem Sie
unlink_data_offeringaufrufen.
Jedes Datenangebot besteht aus einer oder mehreren Tabellen oder Ansichten. Der Zugriff auf einzelne Tabellen erfolgt mit der Syntax collaborator alias.data offering ID.dataset alias, wo die Datenangebots-ID eine Kombination aus dem vom Benutzenden bereitgestellten Namen und den Versionswerten ist. Der Alias ist eine einzelne Tabelle im Angebot. Betrachten Sie den Namen, die Version und den Alias als Bereichssystem, wenn Sie Ihre Datenangebote registrieren.
Sie könnten zum Beispiel das folgende Datenangebot mit Verkaufsdaten registrieren, wobei jede Tabelle spezifisch für einen US-Bundesstaat ist:
Der Analyseausführende würde diese Tabellen dann als data offering id.AL, data offering id.NY`oder :samp:`data offering id.CA referenzieren.
Datenangebote sind in einer Zusammenarbeit erst sichtbar, wenn der Benutzende, der das Datenangebot registriert hat, der Zusammenarbeit beitritt.
Tipp
Wenn Sie nicht die OWNERSHIP für Daten haben, die Sie freigeben, erhalten Sie eine Fehlermeldung, wenn Sie versuchen, der Zusammenarbeit beizutreten oder Ihr Datenangebot zu verknüpfen. Die Fehlermeldung enthält Informationen zu einem SQL-Befehl, der von einem ACCOUNTADMIN ausgeführt werden muss, um den Datenzugriff auf die Zusammenarbeit zu gewähren. Nachdem der ACCOUNTADMIN den Befehl ausgeführt hat, können Sie der Zusammenarbeit beitreten. Weitere Informationen dazu finden Sie unter.
Wenn Sie eine Abfrage ausführen, übergeben die Analyseausführenden die Datenangebote nach ID an den source_tables-Parameter von COLLABORATION.RUN.
Um Ihre registrierten Datenangebote anzuzeigen, rufen Sie VIEW_REGISTERED_DATA_OFFERINGS auf.
Anwenden von Nutzungsrichtlinien auf Ihre Daten¶
Es gibt zwei Möglichkeiten, eine Snowflake-Spaltenrichtlinie, z. B. eine Verknüpfungs- oder Aggregationsrichtlinie, auf Ihre freigegebenen Daten anzuwenden:
Wenden Sie die Richtlinie auf die Quelldaten an. Alle Richtlinien, die auf die Quelldaten angewendet werden, werden in den Datasets durchgesetzt, die im Rahmen einer Zusammenarbeit offengelegt wurden. Stellen Sie sicher, dass Sie dem Benutzenden Ihre Richtlinie mitteilen.
Wenden Sie die Richtlinie auf das Datenangebot an, wenn Sie es in Freiform-Abfragen verwenden. Wenn Sie Freiform-Abfragen für Ihre Datenangebote zulassen, können Sie Spaltenrichtlinien angeben, um Freiform-Abfragen für Ihre Daten durchzusetzen. Geben Sie Spaltenrichtlinien für Freiform-Abfragen in der Spezifikation des Datenangebots an. Diese Richtlinien werden zusätzlich zu allen vorhandenen Snowflake-Richtlinien für Ihre Quelltabellen angewendet.
Anwenden der Richtlinie auf Ihre Quelldaten¶
Alle Snowflake-Richtlinien, die auf die Quelldaten angewendet werden, gelten auch für die Datenangebotsansicht in der Zusammenarbeit.
Wenn Sie Snowflake-Richtlinien auf Ihre Quelldaten anwenden, müssen Sie Ihre Teilnehmenden über diese Richtlinien informieren, damit sie nicht unwissentlich versuchen, eine Abfrage auszuführen, die für eine nicht verknüpfbare Spalte eine Verknüpfung vornimmt oder die Gruppierung nicht dort vornimmt, wo dies geschehen sollte. Sie können alle Snowflake-Richtlinien im description-Feld Ihres Datenangebots angeben.
Anwenden der Richtlinie auf das Datenangebot an (nur Nutzung von Freiform-Abfragen)¶
Sie können Snowflake-Richtlinien auf Freiformabfragen in Ihren freigegebenen Daten anwenden, ohne sie auf die Quelldaten anzuwenden. Diese Richtlinien werden auf Ihre Daten angewendet, wenn Sie zusätzlich zu den Snowflake-Richtlinien, die direkt auf die Quelltabelle angewendet werden, auf Ihre Daten zugreifen.
So fügen Sie Ihren Daten Freiform-SQL-Richtlinien zu:
Erstellen Sie einen Richtlinientyp, der von Collaboration Data Clean Rooms unterstützt wird.
Fügen Sie die folgenden Informationen zu Ihrer Datenangebotsdefinition hinzu:
Setzen Sie
allowed_analyses: template_and_freeform_sql.Fügen Sie den Abschnitt
freeform_sql_policieszur Definition des Datasets hinzu.Fügen Sie unter
freeform_sql_policiesdie entsprechenden Abschnitte für Richtlinientypen hinzu, wobei Sie die von Ihnen erstellten Snowflake-Richtlinien auflisten und angeben, auf welche Zusammenarbeitsspalten diese Richtlinien angewendet werden sollen.
Teilnehmende sehen die auf die Daten angewendeten Richtlinientypen, wenn sie COLLABORATION.VIEW_DATA_OFFERINGS aufrufen.
Sie können eine Richtlinie für mehrere Spalten in mehreren Tabellen wiederverwenden.
Beispiel:
Umbenennen der Quellspalte¶
Die Spaltennamen, die der Vorlage oder dem Freiform-SQL-Aufrufenden angezeigt werden, werden durch die Werte category und column_type festgelegt, die die Spalte in der Datenangebotsdefinition beschreiben. Das Umbenennen von Spalten erfolgt entsprechend dieser Rubrik:
Wenn
categoryfür die Spaltejoin_customoderpassthroughlautet, wird der ursprüngliche Spaltenname angezeigt.Wenn
categoryden Wertjoin_standardhat, wird die Spalte alscolumn_type-Wert umbenannt.Wenn
categoryden Werttimestamphat, wird die Spalte im Datenangebot intimestampumbenannt.
Beispiel: Wenn die Spalte in der Quelltabelle den Namen user_email_address hat, hängt die Offenlegung der Spalte in der Vorlage oder in Freiform-SQL davon ab, wie sie in der Definition des Datenangebots definiert ist:
Wenn die Spaltenkategorie
join_standardlautet undcolumn_typevorhanden ist:Dann wird der Wert
column_typein Abfragen und Vorlagen verwendet:Wenn die Spaltenkategorie
join_customlautet:Dann wird der ursprüngliche Quellspaltenname in Abfragen und Vorlagen verwendet:
Einer Zusammenarbeit beitreten¶
Sie müssen einer Zusammenarbeit beitreten, damit alle Ressourcen, die Sie zu einer Zusammenarbeit beigesteuert haben, in der Zusammenarbeit verfügbar sind, oder um eine Analyse in der Zusammenarbeit ausführen zu können.
Der Ersteller wird beim Aufrufen von INITIALIZE automatisch verknüpft (es sei denn,``auto_join_warehouse`` wird bereitgestellt). Wenn die automatische Verknüpfung deaktiviert ist, ruft der Ersteller JOIN separat auf.
Nicht Erstellende rufen REVIEW und dann JOIN auf.
Wichtig
Wenn sich Ihr Konto in einer anderen Cloud-Hosting-Region befindet als die des Eigentümers der Zusammenarbeit:
Die
REVIEW-Anforderung schlägt fehl, wenn die Cloud-übergreifende automatische Ausführung für Ihr Konto nicht aktiviert ist.REVIEWlöst zusätzliche asynchrone Einrichtungsschritte aus. Rufen SieREVIEWwiederholt auf, bis eine Erfolgreich-Antwort zurückgegeben wird, die anzeigt, dass das Setup abgeschlossen ist.
Das Verknüpfen ist ein asynchroner Prozess. Rufen Sie GET_STATUS auf, um zu sehen, wann der Status als JOINED aufgeführt ist.
Analyse ausführen¶
Sie können Analysen entweder durchführen, indem Sie eine Vorlage in der Abfrage ausführen oder indem Sie eine Freiform-SQL-Abfrage für die Zusammenarbeitsdaten ausführen. Sie müssen ein benannter Analyseausführender in einer Zusammenarbeit sein, um eine Analyse durchführen zu können. Die Zusammenarbeitsspezifikation bestimmt, ob Sie eine Vorlage ausführen, Ergebnisse aktivieren oder Freiform-SQL-Abfragen ausführen können. Ihre Möglichkeiten sowie die Daten und Vorlagen, die Sie verwenden können, sind in der Spezifikation für die Zusammenarbeit beschrieben.
Der Analyseausführende trägt die Kosten für die Durchführung einer Analyse.
Ausführen einer Analyse aus einer Vorlage¶
Um eine Analyse aus einer Vorlage auszuführen, zeigen Sie die Liste der Vorlagen am, die Sie ausführen können, zeigen Sie die Liste der Datenangebote an, die Sie verwenden können, und rufen Sie dann COLLABORATION.RUN mit Ihren Werten auf, entweder als einzelne Parameter oder als Analysespezifikation im YAML-Format:
Aktivieren und Ausführen von Freiform-SQL-Abfragen für Ihre Daten¶
Ein Datenanbieter kann ermöglichen, dass Analyseausführende SQL-Abfragen für die Datenangebote der Zusammenarbeit ausführen können. Sie müssen Mitglied einer Zusammenarbeit sein und über die Rolle des Analyseausführenden mit SQL-Freiformberechtigung für ein Datenangebot verfügen, um SQL-Freiformabfragen für diese Daten durchzuführen.
Datenanbieterschritte¶
Damit Teilnehmende ein Dataset von der Befehlszeile aus abfragen können, legen Sie allowed_analyses: template_and_freeform_sql in Ihrer Dataset-Beschreibung fest. Benutzende, die der Zusammenarbeit beitreten, können Freiform-SQL-Abfragen für die Datasets ausführen, auf die sie zugreifen können.
Die folgenden YAML definiert ein Dataset, das Freiformabfragen erlaubt:
Schritte des Analyseausführenden¶
Um zu sehen, welche Datasets Freiformabfragen unterstützen, führt der Analyseausführende nach dem Beitritt zu einer Zusammenarbeit
COLLABORATION.VIEW_DATA_OFFERINGSaus. Die Spalte FREEFORM_SQL_VIEW_NAME in den Ergebnissen zeigt an, auf welche Tabellen mit Freiform-SQL zugegriffen werden kann, und welcher Tabellenname in der SQL-Abfrage verwendet wird.Der Teilnehmende kann dann die in der Spalte FREEFORM_SQL_VIEW_NAME aufgeführte Tabelle mit Freiform-SQL-Abfragen abfragen:
Alle auf die Tabelle angewendeten Richtlinien werden durchgesetzt.
Ausführen einer Analyse mit Ihren eigenen Daten, wenn Sie die Standard Edition verwenden¶
Wenn Sie die Standard Edition verwenden, können Sie eine Analyse mit der Standardmethode ausführen. Sie können Ihre Daten jedoch nicht zur Beschreibung der Zusammenarbeit hinzufügen und sie für andere Benutzende freigeben.
So verwenden Sie als Benutzender der Standard Edition Ihre eigenen Daten in einer Zusammenarbeit:
Um Ihr Datenangebot zu registrieren, rufen Sie
REGISTRY.REGISTER_DATA_OFFERINGauf. Sie müssen Spaltennamen angeben.Rufen Sie
COLLABORATION.LINK_LOCAL_DATA_OFFERINGauf.Nur Sie können Ihr Angebot sehen, wenn Sie
COLLABORATION.VIEW_DATA_OFFERINGSaufrufen. Für andere Teilnehmende wird Ihre Datenquelle nicht aufgelistet.Verwenden Sie die ID des Datenangebots, wenn Sie
COLLABORATION.RUNaufrufen, entweder im Parameterlocal_template_view_namesoder im Feldlocal_view_mappings.my_tables, wenn Sie eine Analyse-YAML übergeben.local_template_view_namesundlocal_view_mappings.my_tablesfüllen den Parametermy_tablein der Vorlage aus.
Das folgende Beispiel zeigt, wie Sie eine Vorlage unter Verwendung der Ausführungsprozedurversion mit dem YAML-Format ausführen. Dieses Beispiel schließt das Feld my_tables ein, das durch Aufrufen von LINK_LOCAL_DATA_OFFERING ausgefüllt wird.
Abfrageergebnisse aktivieren¶
Bemerkung
Wenn Sie die Rolle SAMOOHA_APP_ROLE nicht verwenden, d. h. Sie verwenden eine Rolle, die von Zugriffsverwaltungsverfahren verwaltet wird, müssen Sie über die Berechtigung REGISTER DATA OFFERING verfügen, um einer Zusammenarbeit beizutreten, bei der Sie Analyseausführender sind, und bei der die Zusammenarbeitsspezifikation das Feld activation_destinations beinhaltet.
So aktivieren Sie die Ergebnisse einer Abfrage:
Stellen Sie sicher, dass für alle Aktivierungsspalten die folgenden Eigenschaften in der entsprechenden Spezifikation festgelegt sind:
Die Datenangebotsspezifikation für die Tabelle mit der aktivierten Spalte muss
activation_allowed: TRUEfür diese Spalte festlegen:Die Zusammenarbeitsspezifikation muss
activation_destinations-Werte für den Analyseausführenden bereitstellen. Die Datenangebotsspezifikation beschränkt die Aktivierung auf bestimmte Analyseausführende und Vorlagen.Die Analysespezifikation muss einen
activation-Abschnitt mit den Wertensnowflake_collaboratorundsegment_nameeinschließen und eine Aktivierungsvorlage aufrufen, die die Zusammenarbeitsrichtlinien für kundenspezifische Vorlagen befolgt. Sie können die Ergebnisse nicht aktivieren, indem Sie eine Standardanalysevorlage ausführen.Bemerkung
Für jede Spalte, die in der Vorlage mit angewendetem
activation_policy-Filter verwendet wird, muss deractivation_allowed-Wert in der Datenangebotsspezifikation auf TRUE festgelegt sein. Das folgende Beispiel zeigt eine Vorlage, bei der die Aktivierungsrichtlinie auf zwei Spalten angewendet wird, die vom Analyseausführenden bereitgestellt werden:Der Analyseausführende ruft
RUNauf, um die Analyse auszuführen.Wenn Sie die Aktivierung für sich selbst vornehmen, sind die Ergebnisse sofort im Konto des Aufrufenden in der Tabelle
consumers_database.ACTIVATION_RESULTS.CONSUMER_DIRECT_ACTIVATION_SUMMARYverfügbar. Wie Sie die Abfrageergebnisse anzeigen können, erfahren Sie im letzten Schritt.Bei Aktivierung für einen anderen Teilnehmenden:
Der Teilnehmende ruft
VIEW_ACTIVATIONSauf, bis der Status SHARED zurückgegeben wird. Die Aktivierung für ein anderes Konto kann bei großen Resultsets einige Zeit in Anspruch nehmen, da die Daten an das Konto des Teilnehmenden übertragen und entschlüsselt werden müssen.Wenn der Status der Aktivierung SHARED lautet, ruft der Teilnehmende
PROCESS_ACTIVATIONauf, um die Ergebnisse an sein Konto zu senden. Die Antwort aufPROCESS_ACTIVATIONschließt die Tabellen- und Segmentnamen mit ein. Hierdurch wird der Aktivierungsstatus auf PROCESSED festgelegt.
Um Abfrageergebnisse abzurufen, führen Sie den folgenden SQL-Befehl aus, und geben Sie den Namen Ihrer Ergebnistabelle und optional einen Segmentnamen zum Filtern der Ergebnisse an:
Zusammenarbeit verlassen oder löschen¶
Nicht-Eigentümer verlassen eine Zusammenarbeit, indem sie
COLLABORATION.LEAVEaufrufen. Alle von ihnen bereitgestellten Datenangebote werden aus der Zusammenarbeit entfernt. Sie können einer Zusammenarbeit nicht wieder beitreten, nachdem Sie sie verlassen haben.Zusammenarbeitseigentümer können eine Zusammenarbeit nicht verlassen. Die Eigentümerschaft kann nicht übertragen werden. Ein Eigentümer einer Zusammenarbeit kann eine Zusammenarbeit für alle Teilnehmenden löschen, indem er
COLLABORATION.TEARDOWNaufruft.
Beide Prozesse sind asynchron. Sie müssen GET_STATUS aufrufen, um den Status zu überwachen, und LEAVE oder TEARDOWN erneut aufrufen, wenn GET_STATUS den Status als LOCAL_DROP_PENDING anzeigt.
Cloud-übergreifende automatische Ausführung aktivieren¶
Wenn Sie sich nicht in der gleichen Cloud-Host-Region befinden wie der Eigentümer der Zusammenarbeit, muss die Cloud-übergreifende automatische Ausführung (LAF) für Ihr Konto aktiviert sein, damit Sie der Zusammenarbeit beitreten können. Wenn Sie versuchen, eine Zusammenarbeit in einer anderen Cloud-Region zu überprüfen und LAF nicht für Ihr Konto aktiviert ist oder Sie nicht über die richtigen Berechtigungen verfügen, erhalten Sie beim Aufruf von REVIEW für die Zusammenarbeit eine Fehlermeldung.
Bemerkung
Wenn die Cloud-übergreifende automatische Ausführung in einer Zusammenarbeit verwendet wird:
Die Daten werden im Konto jedes Teilnehmenden repliziert, der auf diese Daten zugreifen kann.
Die Daten werden auch in die Region des Eigentümers repliziert, unabhängig davon, ob dieser auf das Datenangebot zugreifen kann oder nicht. Dessen Möglichkeit, auf die Daten zuzugreifen, wird jedoch durch die Freigaberegeln des Datenangebots bestimmt.
Sie können Ihre Cloud-Hosting-Region ermitteln, indem Sie SELECT CURRENT_REGION(); ausführen.
So aktivieren Sie die Cloud-übergreifende automatische Ausführung für Ihr Konto:
Ein Organisationsadministrator muss LAF für Ihr Konto aktivieren, indem er SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT aufruft. Weitere Informationen dazu finden Sie unter Berechtigungen für automatische Ausführung verwalten.
Damit Sie die richtigen Berechtigungen zum Ansehen einer LAF-Zusammenarbeit haben oder um ihr beitreten zu können, verwenden Sie die SAMOOHA_APP_ROLE oder eine Rolle, die über die Berechtigung MANAGE LISTING AUTO FULFILLMENT auf Kontoebene verfügt.
Teilnehmende, die sich in einer anderen Cloud-Hosting-Region befinden, erfahren zusätzliche Datenverzögerung aufgrund der Replikationshäufigkeit. Die Replikationshäufigkeit ist in einem Collaboration Data Clean Room noch nicht konfigurierbar.
Beispiel: Zusammenarbeit zwischen zwei Parteien¶
Das folgende Beispiel zeigt eine Zusammenarbeit mit zwei Parteien, wobei eine Partei (namens „alice“) die Erstellende der Zusammenarbeit, ein Datenanbieter für sich selbst und „bob“ sowie eine Analyseausführende ist. Die andere Partei (mit dem Namen „bob“) ist ein Datenanbieter für sich selbst und „alice“ sowie ein Analyseausführender.
Das Beispiel veranschaulicht die folgenden Aktionen:
Erstellen einer Zusammenarbeit
Registrieren von Vorlagen und Datenangeboten
Hinzufügen einer Vorlage und eines Datenangebots zum Zeitpunkt der Erstellung der Zusammenarbeit
Beitreten zu einer Zusammenarbeit
Hinzufügen von Vorlagen und Ressourcen zu einer vorhandenen Zusammenarbeit
Ausführen einer Analyse
Um dieses Beispiel auszuführen, müssen Sie über zwei separate Konten mit installierten Snowflake Data Clean Rooms verfügen.
Sie können die Dateien entweder herunterladen und in Ihr Snowflake-Konto hochladen oder den Beispielcode kopieren und in die Arbeitsblätter von zwei separaten Konten einfügen, indem Sie die Snowsight verwenden.
Laden Sie die SQL-Quelldateien herunter, und laden Sie diese dann in zwei separate Konten hoch, für die Snowflake Data Clean Rooms installiert sind: