Use o Visual Studio Code com o Databricks Connect for Scala
Este artigo abrange o Databricks Connect para Databricks Runtime 13.3 LTS e acima.
Este artigo aborda como usar o site Databricks Connect para Scala com o Visual Studio Code. Databricks Connect permite que o senhor conecte os populares IDEs, servidores de notebook e outros aplicativos personalizados ao clustering Databricks. Consulte O que é o Databricks Connect? Para obter a versão Python deste artigo, consulte Use Visual Studio Code with Databricks Connect for Python.
Antes de começar a usar o Databricks Connect, o senhor deve configurar o cliente Databricks Connect.
Para usar o site Databricks Connect e o Visual Studio Code com a extensão Scala (Metals) para criar, executar e depurar um projeto de amostra Scala sbt
, siga estas instruções. O senhor também pode adaptar esse exemplo aos seus projetos Scala existentes.
-
Certifique-se de que o Java Development Kit (JDK) e o Scala estejam instalados localmente. Databricks recomenda que a versão local do JDK e do Scala corresponda à versão do JDK e do Scala no cluster Databricks.
-
Certifique-se de que a versão mais recente do
sbt
esteja instalada localmente. -
Instale a extensão Scala (Metals) para o Visual Studio Code.
-
No Visual Studio Code, abra a pasta onde deseja criar o projeto Scala (File > Open Folder ).
-
Na barra lateral, clique no ícone da extensão Metals e, em seguida, clique em New Scala project (Novo projeto Scala ).
-
Na paleta de comandos, escolha o padrão chamado Scala/hello-world .g8, e siga as instruções na tela para concluir a criação do projeto Scala na pasta especificada.
-
Adicione as configurações de compilação do projeto: No Explorer view (Exibir > Explorer ), abra o arquivo
build.sbt
na 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.3.1"Substitua
2.12.15
pela versão instalada de Scala, que deve corresponder à versão incluída com a versão Databricks Runtime em seu cluster.Substitua
14.0.0
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. -
Adicione o código Scala: Abra o arquivo
src/main/scala/Main.scala
relativo à raiz do projeto, substitua o conteúdo do arquivo pelo seguinte e salve o arquivo:Scalaimport 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()
} -
Construa o projeto: execute o comando >Metals: Importar a compilação do comando Palette.
-
Adicione as configurações de execução do projeto: Em execução & Debug view (view > execução ), clique no link rótulo create a launch.JSON file.
-
Na paleta de comandos , selecione Scala Debugger .
-
Adicione a seguinte configuração de execução ao arquivo
launch.json
e salve o arquivo:JSON{
// 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 (começar depuração ) ao lado de Scala: execução main class. No Console de depuração view (view > Debug Console ), aparecem as primeiras 5 linhas da tabela
samples.nyctaxi.trips
. Todo o código Scala é executado localmente, enquanto todo o código Scala que envolve DataFrame operações é executado no clustering no Databricks workspace remoto e as respostas de execução são enviadas de volta ao chamador local. -
Depure o projeto: defina pontos de interrupção em seu código e clique novamente no ícone de reprodução. Todo o código do Scala é depurado localmente, enquanto todo o código do Scala continua a ser executado no clustering no Databricks remoto workspace. O código principal do mecanismo do Spark não pode ser depurado diretamente do cliente.