Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in Anteprima Pubblica.
Questa pagina descrive come eseguire carichi di lavoro JAR personalizzati in una stanza pulita. Con il supporto JAR, è possibile inserire Java compilati o codice Scala in una stanza pulita ed eseguirli sui dati condivisi dai collaboratori, senza che alcun collaboratore ottenga l'accesso diretto ai dati o al codice di un altro collaboratore.
È possibile usare un file JAR in una stanza pulita in due modi:
- Analisi JAR: esegue un carico di lavoro JAR autonomo come analisi clean room, simile a un notebook. Si specifica una classe principale come punto d’ingresso e tutti i collaboratori approvano l’analisi prima che venga eseguita.
-
Funzioni definite dall'utente (UDF) in JAR: Registrare una funzione Java o Scala personalizzata da un JAR e richiamarla da un notebook clean room usando
CREATE TEMPORARY FUNCTION.
La tabella seguente confronta i due approcci:
| Capability | Analisi JAR | JAR UDF |
|---|---|---|
| Che cosa viene eseguito | Un carico di lavoro JAR autonomo, registrato come analisi a sé stante | Funzione da un file JAR, chiamata da un notebook della sala pulita |
| Punto di ingresso | Classe principale specificata | Metodo del gestore a cui si fa riferimento in CREATE TEMPORARY FUNCTION |
| Anteprima da attivare | Attività JAR sala pulita | Funzione definita dall'utente JAR di Clean Room |
| Ambiente serverless | 4-scala-preview |
Versione dell'ambiente 4 |
| Modalità di esecuzione | Approvato come un notebook, quindi funziona autonomamente | Viene eseguito all'interno del notebook che lo chiama |
Prima di iniziare
È necessario creare una nuova stanza pulita dopo che tutti i collaboratori abilitano l'anteprima. L'anteprima non si applica alle stanze pulite create prima dell'abilitazione e la disabilitazione dell'anteprima in un secondo momento non influisce sulle stanze pulite che usano già la funzionalità.
Una nuova stanza pulita creata può richiedere fino a 24 ore prima di poter eseguire carichi di lavoro JAR.
Il file JAR deve essere compilato con Java 17 o versione successiva o Scala 2.13 o versione successiva.
È necessario un calcolo serverless. Le analisi JAR vengono eseguite nell'ambiente
4-scala-previewserverless. Le UDF JAR richiedono la versione4dell'ambiente serverless.
Compilare e testare il file JAR
È necessario creare una nuova stanza pulita dopo che tutti i collaboratori abilitano l'anteprima. L'anteprima non si applica alle stanze pulite create prima dell'abilitazione e la disabilitazione dell'anteprima in un secondo momento non influisce sulle stanze pulite che usano già la funzionalità.
Per le analisi dei file JAR, consulta task JAR per i job.
Per le UDF JAR, vedere Funzioni scalari definite dall'utente - Scala.
Quando il file JAR funziona come previsto, caricarlo in un volume del catalogo Unity. È possibile creare un volume che contenga solo i file JAR da condividere. L'intero volume è condiviso con la clean room, quindi includi solo i file che intendi condividere.
Eseguire un'analisi JAR
Per eseguire un'analisi JAR in una stanza pulita, eseguire le operazioni seguenti:
Carica il tuo JAR in un volume di Unity Catalog.
Aggiungere il volume alla stanza pulita come asset di dati. Vedere Passaggio 3. Aggiungere asset di dati e notebook alla stanza pulita.
Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
Fare clic sul pulsante
Clean Rooms . Selezionare la stanza pulita dall'elenco.
Fare clic su Aggiungi analisi.
Nella pagina Aggiungi analisi selezionare Analisi JAR.
Immettere i dettagli per l'analisi JAR, inclusa la classe principale da usare come punto di ingresso e il percorso del file JAR nel volume condiviso.
Fare clic su Aggiungi FILE JAR per aggiungere l'analisi alla stanza pulita.
Assicurarsi che tutti i collaboratori abbiano approvato l'analisi JAR.
Le analisi JAR vengono approvate allo stesso modo in cui vengono approvati i notebook di clean room: ogni collaboratore deve esaminare l'analisi e aggiungere una revisione di approvazione. È anche possibile configurare regole di approvazione automatica. Vedi Approvare un notebook in una camera bianca e Regole di approvazione automatica.
Selezionare l'analisi JAR e fare clic su Esegui.
Specificare i parametri da passare al metodo main.
Clean Rooms inserisce automaticamente parametri di contesto aggiuntivi nel formato
--<key> <value>, analogamente ai parametri passati ai notebook di Clean Rooms. Vedere Parametri del notebook.
Usare una UDF JAR in un notebook
Per usare una UDF JAR in un notebook Clean Room, procedi come segue:
Carica il tuo JAR in un volume di Unity Catalog.
Aggiungere il volume alla stanza pulita come asset di dati. Vedere Passaggio 3. Aggiungere asset di dati e notebook alla stanza pulita.
In un notebook della sala pulita usare
CREATE TEMPORARY FUNCTIONper registrare una funzione supportata dal file JAR condiviso, quindi chiamarla come qualsiasi altra funzione.Usare
LANGUAGE JAVAper un file JAR Java oLANGUAGE SCALAper un file JAR Scala. Il parametroENVIRONMENT_VERSIONdeve essere impostato su4. Nel percorsoDEPENDENCIES, usa l'alias del catalogo della sala pulita assegnato al momento della creazione della sala pulita, non il nome originale del catalogo.L'esempio seguente registra una funzione di normalizzazione della posta elettronica da un file JAR:
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"Chiamare quindi la funzione in una query:
SELECT email_address, normalize_email(email_address) AS normalized_email FROM my_tableAggiungi il notebook all'ambiente pulito, fallo approvare ai collaboratori ed eseguilo. Consulta Eseguire notebook nelle camere bianche.
Limitations
- Le esecuzioni di analisi JAR non generano eventi nella tabella di
clean_room_eventssistema. Vedere riferimento alla tabella di sistema degli eventi nella camera bianca.