Pular para o conteúdo principal

Execute cargas de trabalho JAR em clean rooms do Databricks

info

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 CREATE TEMPORARY FUNCTION

Pré-visualização para habilitar

Tarefa JAR da Sala Limpa

UDF JAR do Clean Room

Ambiente serverless

4-scala-preview

Versão do ambiente 4

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ão 4 do 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:

  1. Faça upload do seu JAR para um volume do Unity Catalog.

  2. Adicione o volume à sala limpa como um ativo de dados. Consulte a Etapa 3. Adicione ativos de dados e notebooks à sala limpa.

  3. No seu Databricks workspace, clique em Ícone de dados. Catálogo .

  4. Clique no botão Salas Limpas > .

  5. Selecione a sala limpa na lista.

  6. Clique em Adicionar análise .

  7. Na página Adicionar Análise , selecione Análise JAR .

  8. 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.

  9. Clique em Adicionar JAR para adicionar a análise à sala limpa.

  10. 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.

  11. Selecione a análise JAR e clique em Executar .

  12. 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:

  1. Faça upload do seu JAR para um volume do Unity Catalog.

  2. Adicione o volume à sala limpa como um ativo de dados. Consulte a Etapa 3. Adicione ativos de dados e notebooks à sala limpa.

  3. Em um Notebook de Clean Room, use CREATE TEMPORARY FUNCTION para registrar uma função que é apoiada pelo JAR compartilhado, depois chame-a como qualquer outra função.

    Use LANGUAGE JAVA para um JAR Java ou LANGUAGE SCALA para um JAR Scala. ENVIRONMENT_VERSION deve ser 4. No caminho DEPENDENCIES , 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:

    SQL
    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"

    Em seguida, chame a função em uma consulta:

    SQL
    SELECT email_address, normalize_email(email_address) AS normalized_email
    FROM my_table
  4. Adicione o Notebook à Clean Room, faça com que os colaboradores o aprovem e o execute. Consulte Executar Notebooks em Clean Rooms.

Limitações