Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Dieses Feature befindet sich in der Public Preview.
Auf dieser Seite wird beschrieben, wie benutzerdefinierte JAR-Workloads in einem Reinraum ausgeführt werden. Mit JAR-Unterstützung können Sie kompilierten Java- oder Scala-Code in einen Clean Room einbringen und mit den Daten ausführen, die Beteiligte freigeben, ohne dass Beteiligte direkten Zugriff auf die Daten oder den Code anderer Beteiligter erhalten.
Sie können einen JAR in einem Reinraum auf zwei Arten verwenden:
- JAR-Analysen: Führen Sie eine eigenständige JAR-Workload als Reinraumanalyse aus, ähnlich wie ein Notizbuch. Sie geben eine Hauptklasse als Einstiegspunkt an, und alle Mitarbeiter genehmigen die Analyse, bevor sie ausgeführt wird.
-
Benutzerdefinierte JAR-Funktionen (UDFs): Registrieren Sie eine benutzerdefinierte Java- oder Scala-Funktion aus einem JAR und rufen Sie sie in einem Clean-Room-Notebook mit
CREATE TEMPORARY FUNCTIONauf.
In der folgenden Tabelle werden die beiden Ansätze verglichen:
| Fähigkeit | JAR-Analyse | JAR UDF |
|---|---|---|
| Was ausgeführt wird | Eine eigenständige JAR-Workload, die als eigene Analyse registriert ist | Eine Funktion aus einem JAR, die aus einem Reinraumnotizbuch aufgerufen wird |
| Einstiegspunkt | Eine Hauptklasse, die Sie angeben | Eine Handler-Methode, auf die Sie in CREATE TEMPORARY FUNCTION verweisen |
| Vorschau zum Aktivieren | Clean Room JAR-Aufgabe | Clean Room Jar UDF |
| Serverlose Umgebung | 4-scala-preview |
Umgebungsversion 4 |
| So wird's ausgeführt | Wie ein Notebook genehmigt, läuft es dann eigenständig. | Wird als Teil des Notebooks ausgeführt, das ihn aufruft. |
Bevor Sie anfangen
Sie müssen einen neuen Reinraum erstellen, nachdem alle Mitarbeiter die Vorschau aktiviert haben. Die Vorschau gilt nicht für Saubere Räume, die erstellt wurden, bevor sie aktiviert wurden, und das Deaktivieren der Vorschau zu einem späteren Zeitpunkt wirkt sich nicht auf Saubere Räume aus, die das Feature bereits verwenden.
Ein neu erstellter Reinraum kann bis zu 24 Stunden benötigen, bevor er JAR-Workloads ausführen kann.
Das JAR muss mit Java 17 oder höher oder Scala 2.13 oder höher kompiliert werden.
Serverlose Berechnung ist erforderlich. JAR-Analysen werden in der
4-scala-previewserverlosen Umgebung ausgeführt. JAR UDFs erfordern serverlose Umgebungsversion4.
JAR erstellen und testen
Sie müssen einen neuen Reinraum erstellen, nachdem alle Mitarbeiter die Vorschau aktiviert haben. Die Vorschau gilt nicht für Saubere Räume, die erstellt wurden, bevor sie aktiviert wurden, und das Deaktivieren der Vorschau zu einem späteren Zeitpunkt wirkt sich nicht auf Saubere Räume aus, die das Feature bereits verwenden.
Informationen zu JAR-Analysen finden Sie unter JAR-Aufgaben für Aufträge.
Informationen zu JAR-UDFs finden Sie unter Benutzerdefinierte Skalarfunktionen – Scala.
Wenn der JAR erwartungsgemäß funktioniert, laden Sie ihn in ein Unity Catalog-Volume hoch. Sie können ein Volume erstellen, das nur die JARs enthält, die Sie freigeben möchten. Das gesamte Volume wird für den Clean Room freigegeben. Schließen Sie also nur die Dateien ein, die Sie freigeben möchten.
Ausführen einer JAR-Analyse
Gehen Sie wie folgt vor, um eine JAR-Analyse in einem Reinraum auszuführen:
Laden Sie Ihr JAR in ein Unity-Katalogvolume hoch.
Fügen Sie das Volume dem Clean Room als Datenressource hinzu. Siehe Schritt 3. Fügen Sie dem Reinraum Datenressourcen und Notizbücher hinzu.
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog.
Klicken Sie auf die Schaltfläche "Räume >bereinigen".
Wählen Sie den Reinraum in der Liste aus.
Klicken Sie auf "Analyse hinzufügen".
Wählen Sie auf der Seite " Analyse hinzufügen " die Option JAR-Analyse aus.
Geben Sie die Details für die JAR-Analyse ein, einschließlich der Hauptklasse, die als Startpunkt verwendet werden soll, sowie des Pfads zum JAR im freigegebenen Volume.
Klicken Sie auf JAR hinzufügen, um dem Clean Room die Analyse hinzuzufügen.
Stellen Sie sicher, dass alle Mitarbeiter die JAR-Analyse genehmigt haben.
JAR-Analysen werden auf die gleiche Weise wie Reinraumnotizbücher genehmigt: Jeder Mitarbeiter muss die Analyse überprüfen und eine genehmigende Überprüfung hinzufügen. Sie können auch Regeln für die automatische Genehmigung konfigurieren. Siehe Genehmigen eines Notizbuchs in einem Reinraum und Regeln für die automatische Genehmigung.
Wählen Sie die JAR-Analyse aus, und klicken Sie auf "Ausführen".
Geben Sie die Parameter an, die an die Hauptmethode übergeben werden sollen.
Clean Rooms fügt automatisch zusätzliche Kontextparameter in das
--<key> <value>Format ein, ähnlich wie die Parameter, die an Reinraumnotizbücher übergeben werden. Siehe Notizbuchparameter.
Verwenden einer JAR-UDF in einem Notizbuch
Gehen Sie wie folgt vor, um eine JAR-UDF in einem Clean-Room-Notebook zu verwenden:
Laden Sie Ihr JAR in ein Unity-Katalogvolume hoch.
Fügen Sie das Volume dem Clean Room als Datenressource hinzu. Siehe Schritt 3. Fügen Sie dem Reinraum Datenressourcen und Notizbücher hinzu.
Verwenden Sie in einem Clean-Room-Notebook
CREATE TEMPORARY FUNCTION, um eine Funktion zu registrieren, die durch das gemeinsam genutzte JAR bereitgestellt wird, und rufen Sie sie dann wie jede andere Funktion auf.Verwenden Sie
LANGUAGE JAVAfür eine Java-JAR-Datei oderLANGUAGE SCALAfür eine Scala-JAR-Datei.ENVIRONMENT_VERSIONmuss den Wert4haben. Verwenden Sie im PfadDEPENDENCIESden Alias für den Clean Room-Katalog, der beim Erstellen des Clean Room zugewiesen wurde, nicht den ursprünglichen Katalognamen.Im folgenden Beispiel wird eine E-Mail-Normalisierungsfunktion aus einem JAR registriert:
CREATE TEMPORARY FUNCTION normalize_email(email STRING) RETURNS STRING LANGUAGE JAVA ENVIRONMENT ( DEPENDENCIES = '["/Volumes/<catalog-alias>/<schema>/<volume>/<path>/<file-name>.jar"]', ENVIRONMENT_VERSION = 4 ) HANDLER "com.mycompany.utils.EmailNormalizer.normalize"Rufen Sie dann die Funktion in einer Abfrage auf:
SELECT email_address, normalize_email(email_address) AS normalized_email FROM my_tableFügen Sie das Notebook dem Clean Room hinzu, lassen Sie es von Mitwirkenden genehmigen und führen Sie es aus. Weitere Informationen finden Sie unter Ausführen von Notebooks in Reinräumen.
Einschränkungen
- JAR-Analyseläufe geben keine Ereignisse in der
clean_room_eventsSystemtabelle aus. Siehe Verweis auf die Systemtabelle für Reinraumereignisse.