Como configurar o REPL do SBT para o Snowpark Scala¶
Este tópico explica como configurar o REPL do SBT para o Snowpark.
Neste tópico:
Como criar um novo projeto de Scala no sbt¶
Em seguida, crie um novo projeto de Scala para o Snowpark.
Crie um novo diretório para seu projeto e mude para esse diretório.
mkdir snowpark_project cd snowpark_project
Execute o comando
sbt new
e especifique o modelo que você deseja usar para criar o novo projeto. Por exemplo:sbt new scala/hello-world.g8
Digite um nome para seu projeto. Isso cria um diretório de projetos com esse nome.
Como configurar o projeto do sbt para o Snowpark¶
Em seguida, configure o projeto para o Snowpark.
No arquivo build.sbt
de seu projeto, faça as seguintes mudanças:
Se a configuração
scalaVersion
não corresponder à versão que você planeja usar, atualize a configuração. Por exemplo:scalaVersion := "2.12.13"
Note que você deve usar uma versão de Scala que tenha suporte para uso com a biblioteca do Snowpark.
Adicione a biblioteca do Snowpark à lista de dependências. Por exemplo:
libraryDependencies += "com.snowflake" % "snowpark" % "1.10.0"
Adicione as seguintes linhas para configurar o REPL:
Compile/console/scalacOptions += "-Yrepl-class-based" Compile/console/scalacOptions += "-Yrepl-outdir" Compile/console/scalacOptions += "repl_classes"
Como verificar a configuração do seu projeto do sbt¶
Para verificar se você configurou seu projeto para utilizar o Snowpark, execute um exemplo simples do código do Snowpark.
No arquivo
src/main/scala/Main.scala
, substitua o conteúdo com o código abaixo:import com.snowflake.snowpark._ import com.snowflake.snowpark.functions._ object Main { def main(args: Array[String]): Unit = { // Replace the <placeholders> below. val configs = Map ( "URL" -> "https://<account_identifier>.snowflakecomputing.com:443", "USER" -> "<user name>", "PASSWORD" -> "<password>", "ROLE" -> "<role name>", "WAREHOUSE" -> "<warehouse name>", "DB" -> "<database name>", "SCHEMA" -> "<schema name>" ) val session = Session.builder.configs(configs).create session.sql("show tables").show() } }
Observe o seguinte:
Substitua os
<placeholders>
por valores que você usa para se conectar ao Snowflake.Como
<account_identifier>
, especifique seu identificador da conta.Se você preferir usar a autenticação de par de chaves:
Substitua
PASSWORD
porPRIVATE_KEY_FILE
, e defina-o como o caminho do seu arquivo de chave privada.Se a chave privada estiver criptografada, você deve definir
PRIVATE_KEY_FILE_PWD
como a senha de descriptografia da chave privada.
Como alternativa a definir
PRIVATE_KEY_FILE
ePRIVATE_KEY_FILE_PWD
, você pode definir a propriedadePRIVATEKEY
como o valor da cadeia de caracteres da chave privada não criptografada do arquivo de chave privada.Por exemplo, se seu arquivo de chave privada não estiver criptografado, defina a propriedade como o valor da chave no arquivo (sem os cabeçalhos e rodapés
-----BEGIN PRIVATE KEY-----
e-----END PRIVATE KEY-----
e sem as terminações de linha).Observe que se a chave privada estiver criptografada, você deverá descriptografar a chave antes de defini-la como o valor da propriedade
PRIVATEKEY
.
Se você planeja criar UDFs:
Não configure seu
object
para estender a característicaApp
. Para obter mais detalhes, consulte Uma ressalva sobre criar UDFs em um objeto com a característica App.Não configure seu
object
para estender uma classe ou característica que não seja serializável.
Mude para seu diretório de projetos e execute o seguinte comando para executar o código de exemplo:
sbt "runMain Main"