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.
-
Você deve ter seu ID de cluster disponível. Para obter o ID do cluster, no seu 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 a sequência 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
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:
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://dbc-a1b2345c-d6e7.cloud.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 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 log in no workspace do Databricks.
-
Na lista de clusters disponíveis que aparece no seu terminal ou prompt de comando, use as teclas de seta para cima e para baixo para selecionar o cluster Databricks alvo no seu workspace, e então 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 visualizar o valor atual do token OAuth de um perfil e o registro de data e 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 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 código a seguir ao final do arquivo
build.sbt
, que declara a dependência do seu projeto de 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.
- Depois que o cluster for iniciado, no menu principal, clique em Executar > Executar "principal" .
- 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 > Depurar "principal" .
- 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 Depurar , clique no ícone de 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 do Databricks diferentes do OAuth U2M, 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.