Verwenden interner Tabellen für mehrstufige Workflows¶
Übersicht¶
Viele Clean-Room-Anwendungsfälle beinhalten die Ausführung einer einzelnen SQL-Abfrage über eine oder mehrere Tabellen in einem Clean Room und die Anzeige der Ergebnisse in der Antwort. Es gibt jedoch Anwendungsfälle, in denen Sie möglicherweise eine interne Tabelle erstellen müssen, die in nachfolgenden Vorlagen verwendet werden kann, um einen mehrstufigen Arbeitsablauf zu unterstützen. Zum Beispiel ein Machine Learning-Ablauf, bei dem das Modell einmal für ein Datenset trainiert wird und dann mehrmals für unterschiedliche Eingabedaten ausgeführt wird, entweder einzeln oder in Batches.
Erstellen interner Tabellen¶
Sie können interne Tabellen innerhalb eines Clean Rooms erstellen, um Zwischenergebnisse zu speichern oder als persistenten Speicher für die nachgelagerte Nutzung (z. B. um Trainingsdaten zu speichern, die für mehrere Ausführungen verwendet werden). Weitere Informationen dazu finden Sie unter Eigenschaften und Hinweise zu internen Tabellen:
Sie können interne Tabellen erstellen, indem Sie eine Clean-Room-Vorlage verwenden, die CREATE TABLE ausführt, oder indem Sie ein UDF/UDTF ausführen, das Python zur Erstellung einer Tabelle nutzt.
Interne Tabellen können im
cleanroom-Schema erstellt werden, das standardmäßig verfügbar ist. Wenn ein benutzerdefiniertes Schema bevorzugt wird, muss das Schema zuerst erstellt werden, bevor die Tabelle erstellt wird.Standardmäßig sind interne Tabellen nur für genehmigte Vorlagen im Clean Room zugänglich. Wenn der Zugriff außerhalb von Vorlagen gewährt werden muss, dann benötigt die CLEANROOM_PUBLIC_ROLE-Anwendungsrolle des Clean Rooms entsprechende Berechtigungen. So kann beispielsweise folgende Berechtigung erteilt werden:
GRANT SELECT ON TABLE CLEANROOM.MY_TABLE TO APPLICATION ROLE CLEANROOM_PUBLIC_ROLE;Wenn Sie ordnungsgemäßen Zugriff haben, können Sie die internen Tabellen in Ihrer Zusammenarbeit auflisten. Interne Tabellen finden Sie unter:samp:
SFDCR_{collaboration_name}.cleanroom. Sie können aufgelistet werden, indem Sie den folgenden SQL-Code ausführen:SHOW TABLES IN SCHEMA SFDCR_collaboration_name.CLEANROOM;.Interne Tabellen werden gelöscht, wenn die Zusammenarbeit entfernt wird. Wenn jedoch eine interne Tabelle so konzipiert ist, dass sie eine kürzere Lebensdauer hat als die Zusammenarbeit, sollten Sie in Erwägung ziehen, die Tabelle zu löschen, wenn sie nicht mehr benötigt wird.
Hier sind einige Beispiele für die Erstellung einer internen Tabelle:
Eine JinjaSQL-Vorlage kann eine interne Tabelle erstellen, was bei einigen Typen der Aktivierung geschieht.
Diese Beispielvorlage erstellt die Tabelle und gibt den Tabellennamen zurück, sodass der Name als Parameter an andere Vorlagen übergeben werden kann.
Eine UDF kann eine interne Tabelle erstellen. Dies geschieht in der Regel durch die Ausführung von SQL in Python.