Databricks Connect para Scala
Este artigo abrange o Databricks Connect para Databricks Runtime 13.3 LTS e acima.
Databricks Connect permite que o senhor conecte IDEs populares, como IntelliJ IDEA, servidores de notebook e outros aplicativos personalizados ao Databricks clustering. Consulte O que é o Databricks Connect?
Este artigo demonstra como começar rapidamente com Databricks Connect para Scala usando IntelliJ IDEA e o plug-inScala.
- Para obter a versão Python deste artigo, consulte Databricks Connect para Python.
- Para obter a versão em R deste artigo, consulte Databricks Connect for R.
tutorial
No seguinte tutorial o senhor cria um projeto em IntelliJ IDEA, instala Databricks Connect para Databricks Runtime 13.3 LTS e acima, e executa um código simples em compute em seu Databricks workspace a partir de IntelliJ IDEA. Para obter informações adicionais e exemplos, consulte Próximas etapas.
Requisitos
Para completar este tutorial, você deve atender aos seguintes requisitos:
-
Seu destino Databricks workspace e o clustering devem atender aos requisitos de configuração de computação para Databricks Connect.
-
O senhor deve ter seu ID de cluster disponível. Para obter o ID do cluster, no site workspace, clique em compute na barra lateral e, em seguida, clique no nome do cluster. Na barra de endereços do navegador da Web, copie as sequências de caracteres entre
clusters
econfiguration
no URL. -
O senhor tem o Java Development Kit (JDK) instalado em seu computador de desenvolvimento. Databricks recomenda que a versão de sua instalação do JDK corresponda à versão do JDK em seu cluster Databricks. Consulte os requisitos.
Se o senhor não tiver um JDK instalado ou se tiver várias instalações do JDK no computador de desenvolvimento, poderá instalar ou escolher um JDK específico posteriormente na Etapa 1. A escolha de uma instalação do JDK que esteja abaixo ou acima da versão do JDK em seu cluster pode produzir resultados inesperados, ou seu código pode não ser executado.
-
O senhor tem o IntelliJ IDEA instalado. Este tutorial foi testado com o IntelliJ IDEA Community Edition 2023.3.6. Se o senhor usar uma versão ou edição diferente do IntelliJ IDEA, as instruções a seguir poderão variar.
-
O senhor tem o plug-in Scala para o IntelliJ IDEA instalado.
Etapa 1: Configurar a autenticação do Databricks
Este tutorial usa a Databricks OAuth autenticação user-to-machine (U2M) e um Databricks perfil de configuração para autenticação com o seu Databricks workspace. 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 forma:
-
Se ainda não estiver instalado, instale o Databricks CLI da seguinte forma:
tab :::tab-item[Linux, macOS] Use o Homebrew para instalar o Databricks CLI executando os dois comandos a seguir:
Bashbrew tap databricks/tap
brew install databricks:::
:::tab-item[Windows] O senhor pode usar winget, Chocolatey ou Windows Subsystem for Linux (WSL) para instalar a CLI da Databricks. Se não for possível usar
winget
, Chocolatey ou WSL, o senhor deve ignorar este procedimento e usar o prompt de comando ou o PowerShell para instalar a CLI da Databricks a partir da fonte.
A instalação da CLI da Databricks com o Chocolatey é experimental.
Para usar o winget
para instalar a CLI do Databricks, execute os dois comandos a seguir e reinicie seu 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
por meio 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:
Bashcurl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
::: :::: 2. Confirme se a CLI do Databricks está instalada executando o seguinte comando, que exibe a versão atual da CLI do Databricks instalada. Essa versão deve ser a 0.205.0 ou superior:
databricks -v
Se o senhor executar databricks
, mas receber um erro como command not found: databricks
, ou se executar databricks -v
e for listado um número de versão 0.18 ou abaixo, isso significa que o computador não consegue encontrar a versão correta do executável Databricks CLI . Para corrigir isso, consulte Verificar a instalação da CLI.
Inicie a autenticação OAuth U2M, conforme a seguir:
-
Use o comando Databricks CLI para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.
No comando a seguir, substitua
<workspace-url>
pelo Databricks workspace URL da instância, porhttps://1234567890123456.7.gcp.databricks.com
exemplo,.Bashdatabricks auth login --configure-cluster --host <workspace-url>
-
O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione
Enter
para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que o senhor inseriu. O senhor pode usar perfis para alternar rapidamente o contexto de autenticação em vários espaços de trabalho.Para obter uma lista de todos os perfis existentes, em um terminal separado ou prompt de comando, use o Databricks CLI para executar o comando
databricks auth profiles
. Para view 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 log in no workspace do Databricks.
-
Na lista de clusters disponíveis que aparece no prompt do terminal ou do comando, use as teclas de seta para cima e para baixo para selecionar o clustering de destino Databricks em seu workspace e, em seguida, pressione
Enter
. O senhor também pode digitar qualquer parte do nome de exibição do clustering para filtrar a lista de clustering disponíveis. -
Para view o valor atual dos tokens OAuth de um perfil e o carimbo de data/hora da próxima expiração dos tokens, 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 valor
--host
, talvez seja necessário especificar as opções--host
e-p
juntas para ajudar a CLI do Databricks a encontrar as informações de token OAuth correspondentes corretas.
Etapa 2: criar o projeto
-
IntelliJ IDEA.
-
No menu principal, clique em Arquivo > Novo Projeto > .
-
Dê ao seu projeto um nome significativo.
-
Para Localização , clique no ícone da pasta e siga as instruções na tela para especificar o caminho do seu novo projeto Scala.
-
Para Language (Linguagem ), clique em Scala .
-
Em 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 download do JDK e siga as instruções na tela para download um JDK que corresponda à versão do JDK em seu cluster. Consulte os requisitos.
Escolher uma instalação do JDK superior ouabaixo à versão do JDK em seus clusters pode produzir resultados inesperados ou seu código pode não ser executado.
-
Na lista suspensa sbt , selecione a versão mais recente.
-
Na lista suspensa Scala lista suspensa, selecione a versão de Scala que corresponda à versão de Scala em seu cluster. Consulte os requisitos.
A escolha de uma versão do Scala que esteja abaixo ou acima da versão do Scala em seu clustering pode produzir resultados inesperados ou o código pode não ser executado.
-
Certifique-se de que a caixa de fontes de download ao lado de Scala esteja marcada.
-
Para o prefixo do pacote , digite 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 amostra está marcada.
-
Clique em Criar .
Etapa 3: Adicionar o pacote Databricks Connect
-
Com o novo projeto Scala aberto, na janela da ferramenta Project (view > Tool Windows > Project ), abra o arquivo chamado
build.sbt
, em project-name > target . -
Adicione o seguinte código ao final do arquivo
build.sbt
, que declara a dependência do seu projeto em uma versão específica da biblioteca Databricks Connect para Scala, compatível com a versão Databricks Runtime do seu clustering:libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
Substitua
14.3.1
pela versão da biblioteca Databricks Connect que corresponde à versão Databricks Runtime em seu clustering. Por exemplo, o Databricks Connect 14.3.1 corresponde ao Databricks Runtime 14.3 LTS. O senhor pode encontrar os números de versão da biblioteca Databricks Connect no repositório central do Maven. -
Clique no ícone Carregar notificação de alterações do sbt para atualizar o projeto Scala com o novo local e a dependência da biblioteca.
-
Espere até que o indicador de progresso
sbt
na parte inferior do IDE desapareça. O processo de carregamento dosbt
pode levar alguns minutos para ser concluído.
Etapa 4: adicionar código
-
Na janela da ferramenta Projeto , 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 perfil de configuração da Etapa 1 se chamar
DEFAULT
, substitua qualquer código existente no arquivo pelo código a seguir e salve o arquivo:Scalapackage 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 tiver o nome
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 da Etapa 1 e salve o arquivo:Scalapackage 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: execução do código
- Inicie o cluster de destino no seu workspace remoto do Databricks.
- Após o início do clustering, no menu principal, clique em execução > execução 'Main' .
- Na janela da ferramenta de execução (Exibir > Ferramenta Windows > execução ), na página Principal tab, aparecem as primeiras 5 linhas da tabela
samples.nyctaxi.trips
.
Etapa 6: depurar o código
- Com o clustering de destino ainda em execução, no código anterior, clique na guia ao lado de
df.limit(5).show()
para definir um ponto de interrupção. - No menu principal, clique em executar > Debug 'Main' .
- Na janela da ferramenta Debug (Exibir > Ferramenta Windows > Debug ), no Console tab, clique no ícone da calculadora (Evaluate Expression ).
- Digite a expressão
df.schema
e clique em Evaluate (Avaliar ) para mostrar o esquema do DataFrame. - Na barra lateral da janela da ferramenta de depuração , clique no ícone da seta verde ( Retomar programa ).
- No painel Console , as primeiras 5 linhas da tabela
samples.nyctaxi.trips
são exibidas.
Próximas etapas
Para saber mais sobre o Databricks Connect, consulte artigos como estes:
-
Para usar tipos de autenticação Databricks que não sejam tokens de acesso pessoal Databricks, consulte Configurar propriedades de conexão.
-
Para view outros exemplos de código simples, consulte Exemplos de código para Databricks Connect para Scala.
-
Para exibir exemplos de códigos mais complexos, confira as aplicações de exemplo para o repositório do Databricks Connect no GitHub, especificamente:
-
Para migrar de Databricks Connect para Databricks Runtime 12.2 LTS e abaixo para Databricks Connect para Databricks Runtime 13.3 LTS e acima, consulte Migrar para Databricks Connect para Scala.
-
Consulte também informações sobre solução de problemas e limitações.