Usar o IntelliJ IDEA com o Databricks Connect for Scala

Nota

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

Este artigo aborda como usar o Databricks Connect para Scala e IntelliJ IDEA com o plug-in Scala. O Databricks Connect permite conectar IDEs populares, servidores de notebook e outros aplicativos personalizados a clusters do Azure Databricks. Consulte O que é Databricks Connect?.

Nota

Antes de começar a usar o Databricks Connect, você deve configurar o cliente Databricks Connect.

Para usar o Databricks Connect e o IntelliJ IDEA com o plug-in Scala para criar, executar e depurar um projeto Scala sbt de exemplo, siga estas instruções. Estas instruções foram testadas 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.

  1. Certifique-se de que o Java Development Kit (JDK) esteja instalado localmente. O Databricks recomenda que sua versão local do JDK corresponda à versão do JDK em seu cluster do Azure Databricks.

  2. Inicie o IntelliJ IDEA.

  3. Clique em Arquivo > Novo > Projeto.

  4. Dê ao seu projeto algum nome significativo.

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

  6. Em Idioma, clique em Scala.

  7. Para Build system, clique em sbt.

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

  9. Na lista suspensa sbt, selecione a versão mais recente.

  10. Na lista suspensa Scala, selecione a versão do Scala que corresponde à versão do Scala no cluster.

    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.

  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.

  14. Adicione 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.

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

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

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

  18. Adicionar código: na janela da ferramenta Project , abra o arquivo chamado Main.scala, em project-name> src > main > scala.

  19. Substitua qualquer código existente no arquivo com o 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()
      }
    }
    
  20. Execute o código: inicie o cluster de destino em seu espaço de trabalho remoto do Azure Databricks.

  21. Depois que o cluster for iniciado, no menu principal, clique em Executar > Executar 'Principal'.

  22. Na janela da ferramenta Executar (View > Tool Windows > Run), na guia Principal, as primeiras 5 linhas da samples.nyctaxi.trips tabela aparecem. Todo o código Scala é executado localmente, enquanto todo o código Scala envolvendo operações DataFrame é executado no cluster no espaço de trabalho remoto do Azure Databricks e as respostas de execução são enviadas de volta ao chamador local.

  23. Depurar o código: inicie o cluster de destino em seu espaço de trabalho remoto do Azure Databricks, se ele ainda não estiver em execução.

  24. No código anterior, clique na calha ao lado de df.limit(5).show() para definir um ponto de interrupção.

  25. Depois que o cluster for iniciado, no menu principal, clique em Executar > depuração 'Principal'.

  26. Na janela da ferramenta Depurar (Exibir Ferramenta de > Depuração do Windows>), na guia Console, clique no ícone da calculadora (Avaliar Expressão).

  27. Insira a expressão df.schema e clique em Avaliar para mostrar o esquema do DataFrame.

  28. Na barra lateral da janela da ferramenta Depurar , clique no ícone de seta verde (Retomar Programa).

  29. No painel Console, as primeiras 5 linhas da samples.nyctaxi.trips tabela são exibidas. Todo o código Scala é executado localmente, enquanto todo o código Scala envolvendo operações DataFrame é executado no cluster no espaço de trabalho remoto do Azure Databricks e as respostas de execução são enviadas de volta ao chamador local.