Partilhar via


Crie um JAR Scala usando Pacotes de Recursos do Databricks

Este artigo descreve como criar, implantar e executar um JAR Scala com Databricks Asset Bundles. Para obter informações sobre pacotes, consulte O que são Databricks Asset Bundles?.

Por exemplo, para uma configuração que constrói um JAR Java e o carrega no Unity Catalog, consulte Pacote que carrega um ficheiro JAR no Unity Catalog.

Requerimentos

Este tutorial requer que seu espaço de trabalho Databricks atenda aos seguintes requisitos:

Além disso, seu ambiente de desenvolvimento local deve ter o seguinte instalado:

Etapa 1: Criar o pacote

Primeiro, crie o bundle usando o comando bundle init e o modelo de pacote do projeto Scala.

O modelo de pacote JAR do Scala cria um pacote que cria um JAR, carrega-o para o volume especificado e define um trabalho com uma tarefa do Spark com o JAR que é executado em computação sem servidor. O Scala no projeto de modelo define um UDF que aplica uma transformação simples a um DataFrame de exemplo e produz os resultados. A fonte do modelo está no repositório de exemplos de pacote.

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

    databricks bundle init default-scala
    
  2. Para obter um nome para o projeto, digite my_scala_project. Isso determina o nome do diretório raiz para este pacote. Este 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 Catálogo Unity no Databricks onde você deseja que o diretório do pacote seja criado que conterá o JAR e outros artefatos, por exemplo /Volumes/my-catalog/my-schema/bundle-volumes.

    Observação

    O projeto de modelo configura a computação sem servidor, mas se você alterá-lo para usar computação clássica, o administrador pode precisar permitir a lista do caminho JAR de Volumes especificado. Consulte bibliotecas de Lista de Permissões e scripts de inicialização em computadores com o modo de acesso padrão (anteriormente modo de acesso compartilhado).

Etapa 2: Configurar opções de VM

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

  2. Escolha Java 17 no IntelliJ. Vá para Ficheiro>Estrutura do Projeto>SDKs.

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

  4. Navegue até a configuração de Main para adicionar opções de VM:

    Editar principal

    Adicionar opções de VM

  5. Adicione o seguinte às suas opções de VM:

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

Sugestão

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

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

Em seguida, execute a sua aplicação a partir do terminal:

sbt run

Passo 3: Explore o pacote

Para visualizar os arquivos que o modelo gerou, alterne para o diretório raiz do pacote recém-criado e abra esse diretório no IDE. O modelo usa sbt para compilar e empacotar arquivos Scala e funciona com o Databricks Connect para desenvolvimento local. Para obter informações detalhadas, consulte a README.md do projeto gerado.

Os ficheiros de particular interesse incluem o seguinte:

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

Etapa 4: Validar o arquivo de configuração do pacote do projeto

Em seguida, verifique se a configuração do bundle é 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 espaço de trabalho.

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

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

Etapa 5: Implantar o projeto local no espaço de trabalho remoto

Agora, implante o pacote em seu espaço de trabalho remoto do Azure Databricks usando o comando bundle deploy. Esta etapa cria o arquivo JAR e o carrega no volume especificado.

  1. Execute o comando Databricks CLI bundle deploy :

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

    1. Na barra lateral do seu espaço de trabalho do Azure Databricks, clique em Catalog Explorer.
    2. Navegue até ao caminho de destino do volume que especificou ao inicializar o conjunto. 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 espaço de trabalho do Azure Databricks, clique em Trabalhos & Pipelines.
    2. Opcionalmente, selecione os filtros Trabalhos e Propriedade de mim .
    3. Clique em [dev <your-username>] my_scala_project.
    4. Clique na guia Tarefas .

    Deve haver uma tarefa: main_task.

Se você fizer alterações no pacote após esta etapa, repita as etapas de validação e implantação.

Etapa 6: Executar o projeto implantado

Finalmente, execute o trabalho do Azure Databricks usando o comando bundle run.

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

    databricks bundle run -t dev my_scala_project
    
  2. Copie o valor de Run URL que aparece no seu terminal e cole-o no seu navegador para abrir o seu espaço de trabalho do Azure Databricks.

  3. No seu espaço de trabalho do Azure Databricks, 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.