Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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:
- O Catálogo Unity está ativado. Consulte Habilitar um espaço de trabalho para o Unity Catalog.
- Você deve ter um volume do Catálogo Unity no Databricks onde deseja armazenar os artefatos de compilação e permissões para carregar o JAR para um caminho de volume especificado. Consulte Criar e gerenciar volumes do catálogo Unity.
- A computação sem servidor está habilitada. Certifique-se de revisar as limitações do recurso de computação sem servidor.
- Seu espaço de trabalho está em uma região suportada.
Além disso, seu ambiente de desenvolvimento local deve ter o seguinte instalado:
- Kit de Desenvolvimento Java (JDK) 17
- IntelliJ IDEIA
- SBT
- Databricks CLI versão 0.218.0 ou superior. Para verificar a versão instalada da CLI do Databricks, execute o comando
databricks -v. Para instalar a CLI do Databricks, consulte Instalar ou atualizar a CLI do Databricks. - A autenticação da CLI do Databricks é configurada com um perfil
DEFAULT. Para configurar a autenticação, consulte Configurar o acesso ao seu espaço de trabalho.
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.
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-scalaPara 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.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
Importe o diretório atual no seu IntelliJ onde
build.sbtestá localizado.Escolha Java 17 no IntelliJ. Vá para Ficheiro>Estrutura do Projeto>SDKs.
Abra
src/main/scala/com/examples/Main.scala.Navegue até a configuração de Main para adicionar opções de VM:
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.
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 validateSe 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.
Execute o comando Databricks CLI
bundle deploy:databricks bundle deploy -t devPara verificar se o arquivo JAR criado localmente foi implantado:
- Na barra lateral do seu espaço de trabalho do Azure Databricks, clique em Catalog Explorer.
- 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/.
Para verificar se o trabalho foi criado:
- Na barra lateral do espaço de trabalho do Azure Databricks, clique em Trabalhos & Pipelines.
- Opcionalmente, selecione os filtros Trabalhos e Propriedade de mim .
- Clique em [dev
<your-username>]my_scala_project. - 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.
No diretório raiz, execute o comando Databricks CLI
bundle run, especificando o nome do trabalho no arquivomy_scala_project.job.ymlde definição:databricks bundle run -t dev my_scala_projectCopie o valor de
Run URLque aparece no seu terminal e cole-o no seu navegador para abrir o seu espaço de trabalho do Azure Databricks.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.