Execute cargas de trabalho JAR em clean rooms do Databricks
Visualização
Esse recurso está em Prévia Pública.
Esta página descreve como executar cargas de trabalho JAR personalizadas em uma clean room. Com suporte a JAR, você pode trazer código Java ou Scala compilado para uma clean room e executá-lo sobre os dados que os colaboradores compartilham, sem que nenhum colaborador obtenha acesso direto aos dados ou código de outro colaborador.
Você pode usar um JAR em uma sala limpa de duas maneiras:
- Análises JAR : Execute uma carga de trabalho JAR autônoma como uma análise de clean room, muito parecido com um notebook. Você especifica uma classe principal como o ponto de entrada, e todos os colaboradores aprovam a análise antes que ela entre em execução.
- Funções definidas pelo usuário (UDFs) JAR : Registre uma função Java ou Scala personalizada de um JAR e chame-a de um notebook de clean room usando
CREATE TEMPORARY FUNCTION.
A tabela a seguir compara as duas abordagens:
Capacidade | Análise JAR | UDF JAR |
|---|---|---|
O que ele executa | Uma carga de trabalho JAR autônoma, registrada como sua própria análise | Uma função de um arquivo JAR, chamada a partir de um notebook de sala limpa. |
Ponto de entrada | Uma classe principal que o senhor/a senhora especifica | Um método manipulador ao qual você faz referência em |
Pré-visualização para habilitar | Tarefa JAR da Sala Limpa | UDF JAR do Clean Room |
Ambiente serverless |
| Versão do ambiente |
Como funciona | Aprovado como um notebook, em seguida, executado por conta própria | Executado como parte do notebook que o chama |
Antes de começar
-
O senhor/a senhora deve criar um novo clean room depois que todos os colaboradores habilitarem a pré-visualização. A pré-visualização não se aplica a clean rooms que foram criados antes de ser ativada, e desativar a pré-visualização posteriormente não afeta clean rooms que já utilizam o recurso.
-
Uma sala limpa recém-criada pode levar até 24 horas para estar apta a executar cargas de trabalho em formato JAR.
-
O arquivo JAR deve ser compilado com Java 17 ou superior, ou Scala 2.13 ou superior.
-
Compute serverless é necessário. As análises JAR são executadas no ambiente serverless
4-scala-preview. UDFs JAR exigem a versão4do ambiente serverless.
Construa e teste seu JAR
-
O senhor/a senhora deve criar um novo clean room depois que todos os colaboradores habilitarem a pré-visualização. A pré-visualização não se aplica a clean rooms que foram criados antes de ser ativada, e desativar a pré-visualização posteriormente não afeta clean rooms que já utilizam o recurso.
-
Para análises JAR, consulte tarefa JAR para jobs.
-
Para UDFs JAR, consulte Funções escalares definidas pelo usuário - Scala.
Quando o JAR funcionar como esperado, faça o upload para um volume do Unity Catalog. O senhor/a senhora pode criar um volume que contém apenas os JARs que deseja compartilhar. O volume inteiro é compartilhado com o clean room, então inclua apenas os arquivos que você pretende compartilhar.
Execute uma análise JAR
Para executar uma análise JAR em um clean room, faça o seguinte:
-
Faça upload do seu JAR para um volume do Unity Catalog.
-
Adicione o volume à sala limpa como um ativo de dados. Consulte a Etapa 3. Adicione ativos de dados e notebooks à sala limpa.
-
No seu Databricks workspace, clique em
Catálogo .
-
Clique no botão Salas Limpas > .
-
Selecione a sala limpa na lista.
-
Clique em Adicionar análise .
-
Na página Adicionar Análise , selecione Análise JAR .
-
Insira os detalhes para a análise JAR, incluindo a classe principal para usar como ponto de entrada e o caminho para o JAR no volume compartilhado.
-
Clique em Adicionar JAR para adicionar a análise à sala limpa.
-
Certifique-se de que todos os colaboradores aprovaram a análise do arquivo JAR.
Análises JAR são aprovadas da mesma forma que Notebooks de Clean Room: todo colaborador deve revisar a análise e adicionar uma revisão de aprovação. É possível também configurar regras de aprovação automática. Consulte Aprovar um Notebook em uma Clean Room e Regras de aprovação automática.
-
Selecione a análise JAR e clique em Executar .
-
Especifique os parâmetros a serem passados para o método principal.
Clean Rooms injeta automaticamente parâmetros de contexto adicionais no formato
--<key> <value>, similar aos parâmetros que são passados para Notebooks de Clean Room. Consulte Parâmetros do Notebook.
Use uma UDF JAR em um notebook.
Para usar uma UDF em formato JAR em um notebook de sala limpa, faça o seguinte:
-
Faça upload do seu JAR para um volume do Unity Catalog.
-
Adicione o volume à sala limpa como um ativo de dados. Consulte a Etapa 3. Adicione ativos de dados e notebooks à sala limpa.
-
Em um Notebook de Clean Room, use
CREATE TEMPORARY FUNCTIONpara registrar uma função que é apoiada pelo JAR compartilhado, depois chame-a como qualquer outra função.Use
LANGUAGE JAVApara um JAR Java ouLANGUAGE SCALApara um JAR Scala.ENVIRONMENT_VERSIONdeve ser4. No caminhoDEPENDENCIES, use o alias do catálogo da sala limpa que foi atribuído quando a sala limpa foi criada, não o nome do catálogo original.O exemplo a seguir registra uma função de normalização de email de um JAR:
SQLCREATE 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"Em seguida, chame a função em uma consulta:
SQLSELECT email_address, normalize_email(email_address) AS normalized_email
FROM my_table -
Adicione o Notebook à Clean Room, faça com que os colaboradores o aprovem e o execute. Consulte Executar Notebooks em Clean Rooms.
Limitações
- Execuções de análise JAR não emitem eventos na tabela do sistema
clean_room_events. Consulte Referência da tabela do sistema de eventos de ambiente controlado.