Pular para o conteúdo principal

Crie um Scala JAR usando Databricks ativo Bundles

Este artigo descreve como criar, implantar e executar um Scala JAR com Databricks ativo Bundles. Para obter informações sobre pacotes, consulte What are Databricks ativo Bundles?

Por exemplo, a configuração que cria um arquivo Java JAR e o carrega Unity Catalog para,consulte o pacote que carrega um JAR arquivo Unity Catalog para.

Requisitos

Este tutorial requer que seu workspace Databricks atenda aos seguintes requisitos:

Além disso, seu ambiente de desenvolvimento local deve ter os seguintes itens instalados:

Etapa 1: criar o pacote

Primeiro, crie o pacote usando o comando `bundle init` e o padrão de pacote do projeto Scala .

O padrão de pacote JAR Scala cria um pacote que constrói um JAR, o carrega para o volume especificado e define um Job com uma tarefa Spark com o JAR que é executada em compute serverless . O Scala no projeto Padrão define uma UDF Definida pelo Usuário) que aplica transformações simples a um DataFrame de exemplo e exibe os resultados. A fonte do padrão está no repositório bundle-examples.

  1. Execute o seguinte comando em uma janela de terminal em sua máquina de desenvolvimento local. Ele solicita o valor de alguns campos obrigatórios.

    Bash
    databricks bundle init --template-dir contrib/templates/scala-job https://github.com/databricks/bundle-examples
  2. Para obter um nome para o projeto, digite my_scala_project. Isso determina o nome do diretório raiz desse pacote. Esse diretório raiz é criado dentro do seu diretório de trabalho atual.

  3. Para o caminho de destino dos volumes, forneça o caminho dos volumes do Unity Catalog no Databricks onde o senhor deseja que seja criado o diretório do pacote que conterá o JAR e outros artefatos, por exemplo, /Volumes/my-catalog/my-schema/bundle-volumes.

nota

O projeto Padrão configura compute serverless , mas se você alterá-lo para usar compute clássica, seu administrador poderá precisar adicionar o caminho do JAR de volumes especificado à lista de permissões. Consulte a biblioteca Allowlist e o script de inicialização no compute com acesso padrão (anteriormente modo de acesso compartilhado).

o passo 2: Configurar opções da VM

  1. Importe o diretório atual no seu IntelliJ onde build.sbt está localizado.

  2. Selecione Java 17 no IntelliJ. Acesse Arquivo > Estrutura do Projeto > SDKs .

  3. Abra src/main/scala/com/examples/Main.scala.

  4. Acesse a configuração principal para adicionar opções de máquina virtual:

    Editar Principal

    Adicionar opções de VM

  5. Adicione o seguinte às opções da sua máquina virtual:

    --add-opens=java.base/java.nio=ALL-UNNAMED
dica

Alternativamente, ou se você estiver usando o Visual Studio Code, adicione o seguinte ao seu arquivo de compilação do sbt:

fork := true
javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"

Em seguida, execute seu aplicativo a partir do terminal:

sbt run

o passo 3: Explore o pacote

Para view os arquivos gerados pelo padrão, acesse o diretório raiz do pacote recém-criado e abra esse diretório em sua IDE. O padrão usa o sbt para compilar e empacotar arquivos Scala e funciona com Databricks Connect para desenvolvimento local. Para informações detalhadas, consulte o projeto gerado README.md.

Os arquivos de particular interesse incluem os seguintes:

  • databricks.yml: Esse arquivo especifica o nome programático do pacote, inclui uma referência à definição do trabalho e especifica as configurações sobre o destino workspace.
  • resources/my_scala_project.job.yml: Esse arquivo especifica as configurações de tarefa e de agrupamento do Job JAR.
  • src/: Esse diretório inclui os arquivos de origem do projeto Scala.
  • build.sbt: Esse arquivo contém configurações importantes de compilação e de biblioteca dependente.
  • README.md: Esse arquivo contém as etapas para começar e as instruções e configurações de compilação local.

Passo 4: Valide o arquivo de configuração do pacote do projeto

Em seguida, verifique se a configuração do pacote é válida usando o comando bundle validate.

  1. No diretório raiz, execute o comando Databricks CLI bundle validate . Entre outras verificações, isso verifica se o volume especificado no arquivo de configuração existe no site workspace.

    Bash
    databricks bundle validate
  2. Se um resumo da configuração do pacote for retornado, a validação foi bem-sucedida. Se algum erro for retornado, corrija-o e repita essa etapa.

Se você fizer alguma alteração em seu pacote após essa etapa, repita essa etapa para verificar se a configuração do pacote ainda é válida.

o passo 5: implantei o projeto local no workspaceremoto

Agora, implante o pacote em seu site remoto Databricks workspace usando o comando de implantação de pacote. Essa etapa cria o arquivo JAR e faz o upload dele para o volume especificado.

  1. execução o Databricks CLI bundle deploy comando:

    Bash
    databricks bundle deploy -t dev
  2. Para verificar se o arquivo JAR criado localmente foi implantado:

    1. Na barra lateral do site Databricks workspace, clique em Catalog Explorer .
    2. Navegue até o caminho de destino do volume que você especificou ao inicializar o pacote. O arquivo JAR deve estar localizado na seguinte pasta dentro desse caminho: /my_scala_project/dev/<user-name>/.internal/.
  3. Para verificar se o trabalho foi criado:

    1. Na barra lateral do site Databricks workspace, clique em Jobs & pipeline .
    2. Opcionalmente, selecione os filtros Empregos e de minha propriedade .
    3. Clique em [dev <your-username>] my_scala_project .
    4. Clique na aba Tarefas .

    Deve haver uma tarefa: main_task .

Se você fizer alguma alteração em seu pacote após essa etapa, repita as etapas de validação e implantação.

o passo 6: execução do projeto implantado

Por fim, execute o trabalho Databricks usando o comando de execução do pacote.

  1. No diretório raiz, execute o comando Databricks CLI bundle run , especificando o nome do trabalho no arquivo de definição my_scala_project.job.yml:

    Bash
    databricks bundle run -t dev my_scala_project
  2. Copie o valor de Run URL que aparece em seu terminal e cole esse valor em seu navegador da Web para abrir o site Databricks workspace.

  3. No site Databricks workspace, depois que a tarefa for concluída com êxito e mostrar uma barra de título verde, clique na tarefa main_task para ver os resultados.