Partilhar via


Databricks Connect para Scala

Nota

Este artigo aborda o Databricks Connect for Databricks Runtime 13.3 LTS e superior.

Este artigo demonstra como get rapidamente iniciado com o Databricks Connect usando o Scala com IntelliJ IDEA e o plug-in Scala.

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 de destino do Azure Databricks deve atender aos requisitos de configuração de computação para o Databricks Connect.

  • Você deve ter seu ID de cluster disponível. Para get 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 e configuration 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 table 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 ML
    JDK 8
    16.0 JDK 17

    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:

  1. 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 wingeto , 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:

    1. Instale curl e zip através do WSL. Para obter mais informações, consulte a documentação do seu sistema operacional.

    2. 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
      
  2. 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 executar databricks mas get um erro como command not found: databricks, ou se executar databricks -v e estiver listado um número de versão 0.18 ou inferior, isso significa que a sua máquina não consegue 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:

  1. 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>
    
  2. 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 get uma list de quaisquer perfis existentes, num terminal ou prompt de comando separado, use a CLI do Databricks para introduzir o comando databricks auth profiles. Para visualizar as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

  3. No navegador da Web, conclua as instruções na tela para fazer logon no espaço de trabalho do Azure Databricks.

  4. No list 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 select o cluster de destino do Azure Databricks no teu espaço de trabalho e pressione Enter. Você também pode digitar qualquer parte do nome de exibição do cluster para filtrar a list de clusters disponíveis.

  5. 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

  1. Inicie o IntelliJ IDEA.

  2. No menu principal, clique em Arquivo > Novo > Projeto.

  3. Dê ao seu projeto algum nome significativo.

  4. Em Local, clique no ícone de pasta e conclua as instruções na tela para especificar o caminho para seu novo projeto Scala.

  5. Em Idioma, clique em Scala.

  6. Para Build system, clique em sbt.

  7. No listsuspenso do JDK , select uma instalação existente do JDK em sua máquina de desenvolvimento que corresponda à versão do JDK em seu cluster ou selectDownload do JDK e siga as instruções na tela para baixar um JDK que corresponda à versão do JDK no 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.

  8. No menu suspenso listsbt, select a versão mais recente.

  9. No listsuspenso Scala , select a versão do Scala que corresponde à versão do Scala no cluster. A table 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 ML
    2.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.

  10. Verifique se a caixa Baixar fontes ao lado de Scala está marcada.

  11. Para Prefixo do pacote, insira algum valor de prefixo do pacote para os códigos-fonte do seu projeto, por exemplo org.example.application.

  12. Verifique se a caixa Adicionar código de exemplo está marcada.

  13. Clique em Criar.

Criar o projeto IntelliJ IDEA

Etapa 3: Adicionar o pacote Databricks Connect

  1. Com seu novo projeto Scala aberto, em sua ferramenta Projectwindow (View > Tool Windows > Project), abra o arquivo chamado build.sbt, em nome do projeto>de destino.

  2. 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.

  3. Clique no ícone de notificação Load sbt changes para update seu projeto Scala com o novo local e dependência da biblioteca.

  4. Aguarde até que o sbt indicador de progresso na parte inferior do IDE desapareça. O sbt processo de carregamento pode levar alguns minutos para ser concluído.

Instalar o pacote Databricks Connect

Passo 4: Adicionar código

  1. Na ferramenta Projectwindow, abra o arquivo chamado Main.scala, em nome do projeto> src > principal > scala.

  2. 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

  1. Inicie o cluster de destino em seu espaço de trabalho remoto do Azure Databricks.
  2. Depois que o cluster for iniciado, no menu principal, clique em Executar > Executar 'Principal'.
  3. No da ferramenta Executar (Exibir Ferramenta Windows Executar), na guia principal , as primeiras 5 linhas do aparecerão.

Etapa 6: Depurar o código

  1. Com o cluster de destino ainda em execução, no código anterior, clique na margem ao lado de df.limit(5).show() para set para definir um ponto de interrupção.
  2. No menu principal, clique em Executar > depuração 'Principal'.
  3. Na ferramenta Debugwindow (View > Tool Windows > Debug), na guia Console, clique no ícone da calculadora (Avaliar expressão).
  4. Insira a expressão df.schema e clique em Avaliar para mostrar o schemado DataFrame.
  5. Na ferramenta Depurarwindowbarra lateral do , clique no ícone de seta verde (Programa de Retomada ).
  6. No painel Console do , as primeiras 5 linhas do aparecer.

Depurar o projeto IntelliJ IDEA

Próximos passos

Para saber mais sobre o Databricks Connect, consulte artigos como os seguintes: