Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
DatabricksGAImpacto: Médio

Clean rooms no Databricks agora executam workloads em JAR

O Databricks Clean Rooms agora permite executar código Java e Scala compilado em JAR, seja como análise independente aprovada por colaboradores ou como UDF temporária em notebooks.

O que mudou

O Databricks Clean Rooms agora suporta a execução de código compilado em Java ou Scala empacotado em arquivos JAR. O recurso alcançou disponibilidade geral (GA) e permite processar dados compartilhados sem expor o código-fonte nem os dados brutos entre as partes.

Para que serve

Imagine que duas empresas precisam cruzar listas de clientes em uma clean room, mas a regra de higienização ou cálculo criptográfico proprietário foi desenvolvida internamente em Java. Em vez de reescrever a lógica em Python ou SQL, você pode carregar o binário compilado.

Com essa novidade, você pode:

  • Executar uma análise completa via JAR independente com uma classe principal (main class), aprovada pelos participantes como se fosse um notebook.
  • Registrar UDFs temporárias em Java ou Scala dentro de notebooks de clean rooms para usar funções customizadas em consultas SQL.

Como usar

Primeiro, envie o arquivo JAR para um volume do Unity Catalog e adicione esse volume como ativo de dados na clean room. Lembre-se de que todo o volume é compartilhado.

Para registrar uma UDF a partir de um JAR dentro de um notebook da clean room, use o comando SQL abaixo:

CREATE TEMPORARY FUNCTION normalizar_email(email STRING)
RETURNS STRING
LANGUAGE JAVA
ENVIRONMENT (
  DEPENDENCIES = '["/Volumes/catalogo_alias/meu_schema/meu_volume/libs/utilitarios.jar"]',
  ENVIRONMENT_VERSION = 4
)
HANDLER "com.minhaempresa.utils.EmailNormalizer.normalize";

SELECT 
  email_cliente,
  normalizar_email(email_cliente) AS email_tratado
FROM dados_compartilhados;

O que acontece nesse código:

  1. A função temporária normalizar_email é declarada apontando para a classe e método no JAR (HANDLER).
  2. O caminho em DEPENDENCIES utiliza o alias do catálogo atribuído dentro da clean room, com ENVIRONMENT_VERSION = 4.
  3. A função é executada diretamente nas consultas SQL do notebook da clean room.

Para o modo de análise independente (JAR analysis), o processo é feito pela interface do workspace: em Catalog > Clean Rooms, selecione o ambiente, clique em Add Analysis, escolha JAR Analysis, defina a classe principal e o caminho no volume compartilhado, submeta à aprovação dos colaboradores e execute.

Limitações e requisitos

  • Requer Java 17+ ou Scala 2.13+ na compilação do JAR.
  • Exige computação serverless (ambiente 4-scala-preview para análises JAR e versão de ambiente 4 para UDFs).
  • Em contas Enterprise (ou Premium no Azure), o suporte a JAR vem desligado por padrão e deve ser ativado nas configurações de Preview do console de conta.
  • Todos os participantes da clean room precisam ter a mesma configuração de suporte a JAR ativada em suas contas; se houver divergência, a criação da clean room falha.
  • Execuções de análises JAR não registram eventos na tabela de sistema clean_room_events.
Ver nota oficial do Databricks

JAR workloads in clean rooms are now generally available

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas