Databricks Connect para Scala
Nota
Este artigo aborda o Databricks Connect for Databricks Runtime 13.3 LTS e superior.
Este artigo demonstra como começar rapidamente com o Databricks Connect usando o Scala com o IntelliJ IDEA e o plug-in Scala.
- Para a versão Python deste artigo, consulte Databricks Connect for Python.
- Para a versão R deste artigo, consulte Databricks Connect for R.
O Databricks Connect permite conectar IDEs populares, como IntelliJ IDEA, servidores de notebook e outros aplicativos personalizados, a clusters do Azure Databricks. Consulte O que é Databricks Connect?.
Tutorial
Para ignorar este tutorial e usar um IDE diferente, consulte Próximas etapas.
Requisitos
Para concluir este tutorial, você deve atender aos seguintes requisitos:
Seu espaço de trabalho e cluster do Azure Databricks de destino devem atender aos requisitos de configuração do Cluster para Databricks Connect.
Você deve ter seu ID de cluster disponível. Para obter a ID do cluster, no espaço de trabalho, clique em Computação na barra lateral e, em seguida, clique no nome do cluster. Na barra de endereço do navegador da Web, copie a cadeia de caracteres entre
clusters
econfiguration
no URL.Você tem o Java Development Kit (JDK) instalado em sua máquina de desenvolvimento. O Databricks recomenda que a versão da instalação do JDK que você usa corresponda à versão do JDK no cluster do Azure Databricks. A tabela a seguir mostra a versão do JDK para cada Databricks Runtime suportado.
Versão do Databricks Runtime Versão JDK 13,3 LTS - 15,0,
13,3 ML LTS - 15,0 MLJDK 8 Nota
Se você não tiver um JDK instalado ou se tiver várias instalações do JDK em sua máquina de desenvolvimento, poderá instalar ou escolher um JDK específico posteriormente na Etapa 1. Escolher uma instalação do JDK abaixo ou acima da versão do JDK no cluster pode produzir resultados inesperados ou o código pode não ser executado.
Você tem o IntelliJ IDEA instalado. Este tutorial foi testado com o IntelliJ IDEA Community Edition 2023.3.6. Se você usar uma versão ou edição diferente do IntelliJ IDEA, as instruções a seguir podem variar.
Você tem o plugin Scala para IntelliJ IDEA instalado.
Etapa 1: Configurar a autenticação do Azure Databricks
Este tutorial usa a autenticação U2M (U2M) do Azure Databricks OAuth e um perfil de configuração do Azure Databricks para autenticação com seu espaço de trabalho do Azure Databricks. Para usar um tipo de autenticação diferente, consulte Configurar propriedades de conexão.
A configuração da autenticação OAuth U2M requer a CLI do Databricks, da seguinte maneira:
Se ainda não estiver instalado, instale a CLI do Databricks da seguinte maneira:
Linux, macOS
Use o Homebrew para instalar a CLI do Databricks executando os dois comandos a seguir:
brew tap databricks/tap brew install databricks
Windows
Você pode usar winget, Chocolatey ou Windows Subsystem for Linux (WSL) para instalar a CLI do Databricks. Se você não puder usar
winget
o , Chocolatey ou WSL, ignore este procedimento e use o Prompt de Comando ou o PowerShell para instalar a CLI do Databricks a partir do código-fonte .Nota
Instalar a CLI Databricks com Chocolatey é experimental.
Para usar
winget
para instalar a CLI do Databricks, execute os dois comandos a seguir e reinicie o prompt de comando:winget search databricks winget install Databricks.DatabricksCLI
Para usar o Chocolatey para instalar a CLI do Databricks, execute o seguinte comando:
choco install databricks-cli
Para usar o WSL para instalar a CLI do Databricks:
Instale
curl
ezip
através do WSL. Para obter mais informações, consulte a documentação do seu sistema operacional.Use o WSL para instalar a CLI do Databricks executando o seguinte comando:
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
Confirme se a CLI do Databricks está instalada executando o seguinte comando, que exibe a versão atual da CLI do Databricks instalada. Esta versão deve ser 0.205.0 ou superior:
databricks -v
Nota
Se você executar
databricks
, mas receber um erro comocommand not found: databricks
, ou se você executardatabricks -v
e um número de versão de 0,18 ou abaixo estiver listado, isso significa que sua máquina não pode encontrar a versão correta do executável da CLI do Databricks. Para corrigir isso, consulte Verificar a instalação da CLI.
Inicie a autenticação OAuth U2M, da seguinte maneira:
Use a CLI do Databricks para iniciar o gerenciamento de token OAuth localmente executando o seguinte comando para cada espaço de trabalho de destino.
No comando a seguir, substitua
<workspace-url>
pela URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --configure-cluster --host <workspace-url>
A CLI do Databricks solicita que você salve as informações inseridas como um perfil de configuração do Azure Databricks. Pressione
Enter
para aceitar o nome de perfil sugerido ou digite o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que você inseriu. Você pode usar perfis para alternar rapidamente seu contexto de autenticação em vários espaços de trabalho.Para obter uma lista de quaisquer perfis existentes, em um terminal ou prompt de comando separado, use a CLI do Databricks para executar o comando
databricks auth profiles
. Para visualizar as configurações existentes de um perfil específico, execute o comandodatabricks auth env --profile <profile-name>
.No navegador da Web, conclua as instruções na tela para fazer logon no espaço de trabalho do Azure Databricks.
Na lista de clusters disponíveis que aparece no terminal ou no prompt de comando, use as teclas de seta para cima e seta para baixo para selecionar o cluster Azure Databricks de destino em seu espaço de trabalho e pressione
Enter
. Você também pode digitar qualquer parte do nome de exibição do cluster para filtrar a lista de clusters disponíveis.Para exibir o valor atual do token OAuth de um perfil e o carimbo de data/hora de expiração do token, execute um dos seguintes comandos:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Se você tiver vários perfis com o mesmo
--host
valor, talvez seja necessário especificar as--host
opções e-p
juntas para ajudar a CLI do Databricks a encontrar as informações corretas do token OAuth.
Etapa 2: Criar o projeto
Inicie o IntelliJ IDEA.
No menu principal, clique em Arquivo > Novo > Projeto.
Dê ao seu projeto algum nome significativo.
Em Local, clique no ícone de pasta e conclua as instruções na tela para especificar o caminho para seu novo projeto Scala.
Em Idioma, clique em Scala.
Para Build system, clique em sbt.
Na lista suspensa JDK, selecione uma instalação existente do JDK em sua máquina de desenvolvimento que corresponda à versão do JDK em seu cluster ou selecione Baixar JDK e siga as instruções na tela para fazer download de um JDK que corresponda à versão do JDK em seu cluster.
Nota
Escolher uma instalação do JDK acima ou abaixo da versão do JDK no cluster pode produzir resultados inesperados ou o código pode não ser executado.
Na lista suspensa sbt, selecione a versão mais recente.
Na lista suspensa Scala, selecione a versão do Scala que corresponde à versão do Scala no cluster. A tabela a seguir mostra a versão do Scala para cada Databricks Runtime suportado:
Versão do Databricks Runtime Versão Scala 13,3 LTS - 15,0,
13,3 ML LTS - 15,0 ML2.12.15 Nota
Escolher uma versão do Scala abaixo ou acima da versão do Scala no cluster pode produzir resultados inesperados ou o código pode não ser executado.
Verifique se a caixa Baixar fontes ao lado de Scala está marcada.
Para Prefixo do pacote, insira algum valor de prefixo do pacote para os códigos-fonte do seu projeto, por exemplo
org.example.application
.Verifique se a caixa Adicionar código de exemplo está marcada.
Clique em Criar.
Etapa 3: Adicionar o pacote Databricks Connect
Com seu novo projeto Scala aberto, na janela da ferramenta Project (View > Tool Windows > Project), abra o arquivo chamado
build.sbt
, no destino do nome> do projeto.Adicione o seguinte código ao final do arquivo, que declara a
build.sbt
dependência do seu projeto em uma versão específica da biblioteca Databricks Connect para Scala:libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
Substitua
14.3.1
pela versão da biblioteca Databricks Connect que corresponde à versão do Databricks Runtime no cluster. Você pode encontrar os números de versão da biblioteca Databricks Connect no repositório central do Maven.Clique no ícone de notificação de alterações do Load sbt para atualizar seu projeto Scala com o novo local e dependência da biblioteca.
Aguarde até que o
sbt
indicador de progresso na parte inferior do IDE desapareça. Osbt
processo de carregamento pode levar alguns minutos para ser concluído.
Passo 4: Adicionar código
Na janela da ferramenta Project, abra o arquivo chamado
Main.scala
, em project-name> src > main > scala.Substitua qualquer código existente no arquivo pelo código a seguir e salve o arquivo, dependendo do nome do seu perfil de configuração.
Se o seu perfil de configuração da Etapa 1 for nomeado
DEFAULT
, substitua qualquer código existente no arquivo pelo seguinte código e, em seguida, salve o arquivo:package org.example.application import com.databricks.connect.DatabricksSession import org.apache.spark.sql.SparkSession object Main { def main(args: Array[String]): Unit = { val spark = DatabricksSession.builder().remote().getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() } }
Se o seu perfil de configuração da Etapa 1 não for nomeado
DEFAULT
, substitua qualquer código existente no arquivo pelo código a seguir. Substitua o espaço reservado<profile-name>
pelo nome do seu perfil de configuração na Etapa 1 e salve o arquivo:package org.example.application import com.databricks.connect.DatabricksSession import com.databricks.sdk.core.DatabricksConfig import org.apache.spark.sql.SparkSession object Main { def main(args: Array[String]): Unit = { val config = new DatabricksConfig().setProfile("<profile-name>") val spark = DatabricksSession.builder().sdkConfig(config).getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() } }
Etapa 5: Executar o código
- Inicie o cluster de destino em seu espaço de trabalho remoto do Azure Databricks.
- Depois que o cluster for iniciado, no menu principal, clique em Executar > Executar 'Principal'.
- Na janela da ferramenta Executar (Exibir > Ferramenta Executar do Windows>), na guia Principal, as primeiras 5 linhas da
samples.nyctaxi.trips
tabela aparecem.
Etapa 6: Depurar o código
- Com o cluster de destino ainda em execução, no código anterior, clique na calha ao lado de
df.limit(5).show()
para definir um ponto de interrupção. - No menu principal, clique em Executar > depuração 'Principal'.
- Na janela da ferramenta Depurar (Exibir Ferramenta de > Depuração do Windows>), na guia Console, clique no ícone da calculadora (Avaliar Expressão).
- Insira a expressão
df.schema
e clique em Avaliar para mostrar o esquema do DataFrame. - Na barra lateral da janela da ferramenta Depurar , clique no ícone de seta verde (Retomar Programa).
- No painel Console, as primeiras 5 linhas da
samples.nyctaxi.trips
tabela são exibidas.
Próximos passos
Para saber mais sobre o Databricks Connect, consulte artigos como os seguintes:
Para usar tipos de autenticação do Azure Databricks diferentes de um token de acesso pessoal do Azure Databricks, consulte Configurar propriedades de conexão.
Para usar outros IDEs, consulte o seguinte:
Para exibir exemplos de código simples adicionais, consulte Exemplos de código para Databricks Connect for Scala.
Para visualizar exemplos de código mais complexos, consulte os aplicativos de exemplo para o repositório Databricks Connect no GitHub, especificamente:
Para migrar do Databricks Connect for Databricks Runtime 12.2 LTS e inferior para o Databricks Connect for Databricks Runtime 13.3 LTS e superior, consulte Migrar para o Databricks Connect for Scala.
Consulte também informações sobre solução de problemas e limitações.