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 newe 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
scalaVersionnã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.16.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
PASSWORDporPRIVATE_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_PWDcomo a senha de descriptografia da chave privada.
Como alternativa a definir
PRIVATE_KEY_FILEePRIVATE_KEY_FILE_PWD, você pode definir a propriedadePRIVATEKEYcomo 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
objectpara 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
objectpara 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"