Usar o Visual Studio Code 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 for Scala com o Visual Studio Code. O Databricks Connect permite conectar IDEs populares, servidores de notebook e outros aplicativos personalizados a clusters do Azure Databricks. Consulte O que é Databricks Connect?. Para a versão Python deste artigo, consulte Usar o Visual Studio Code com Databricks Connect for Python.
Nota
Antes de começar a usar o Databricks Connect, você deve configurar o cliente Databricks Connect.
Para usar o Databricks Connect e o Visual Studio Code com a extensão Scala (Metals) para criar, executar e depurar um projeto Scala sbt
de exemplo, siga estas instruções. Você também pode adaptar este exemplo aos seus projetos Scala existentes.
Certifique-se de que o Java Development Kit (JDK) e o Scala estão instalados localmente. O Databricks recomenda que sua versão local do JDK e do Scala corresponda à versão do JDK e do Scala no cluster do Azure Databricks.
Certifique-se de que a versão mais recente do
sbt
está instalada localmente.Instale a extensão Scala (Metals) para Visual Studio Code.
No Visual Studio Code, abra a pasta onde você deseja criar seu projeto Scala (File > Open Folder).
Na barra lateral, clique no ícone de extensão Metais e, em seguida, clique em Novo projeto Scala.
Na Paleta de comandos, escolha o modelo chamado scala/hello-world.g8 e conclua as instruções na tela para concluir a criação do projeto Scala na pasta especificada.
Adicionar configurações de compilação do projeto: Na visualização Explorer (View > Explorer), abra o
build.sbt
arquivo da raiz do projeto, substitua o conteúdo do arquivo pelo seguinte e salve o arquivo:scalaVersion := "2.12.15" libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
Substitua pela versão instalada do Scala
2.12.15
, que deve corresponder à versão incluída na versão do Databricks Runtime no cluster.Substitua
14.0.0
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.Adicionar código Scala: Abra o
src/main/scala/Main.scala
arquivo relativo à raiz do projeto, substitua o conteúdo do arquivo pelo seguinte e salve o arquivo:import com.databricks.connect.DatabricksSession import org.apache.spark.sql.SparkSession object Main extends App { val spark = DatabricksSession.builder().remote().getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() }
Construir o projeto: Execute o comando >Metais: Importar compilação da Paleta de Comandos.
Adicionar configurações de execução do projeto: na visualização Executar & Depurar (Exibir > Executar), clique no link Criar um arquivo launch.json.
Na Paleta de comandos, selecione Depurador Scala.
Adicione a seguinte configuração de execução ao
launch.json
ficheiro e, em seguida, guarde o ficheiro:{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "scala", "request": "launch", "name": "Scala: Run main class", "mainClass": "Main", "args": [], "jvmOptions": [] } ] }
Executar o projeto: Clique no ícone play (Start Debugging) ao lado de Scala: Run main class. Na visualização Debug Console (View > Debug Console), 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.Depurar o projeto: defina pontos de interrupção no seu código e, em seguida, clique no ícone de reprodução novamente. Todo o código Scala é depurado localmente, enquanto todo o código Scala continua a ser executado no cluster no espaço de trabalho remoto do Azure Databricks. O código principal do mecanismo Spark não pode ser depurado diretamente do cliente.