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.

  1. Crie um novo diretório para seu projeto e mude para esse diretório.

    mkdir snowpark_project
    cd snowpark_project
    
    Copy
  2. 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
    
    Copy

    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:

  1. Se a configuração scalaVersion não corresponder à versão que você planeja usar, atualize a configuração. Por exemplo:

    scalaVersion := "2.12.13"
    
    Copy

    Note que você deve usar uma versão de Scala que tenha suporte para uso com a biblioteca do Snowpark.

  2. Adicione a biblioteca do Snowpark à lista de dependências. Por exemplo:

    libraryDependencies += "com.snowflake" % "snowpark" % "1.9.0"
  3. Adicione as seguintes linhas para configurar o REPL:

    Compile/console/scalacOptions += "-Yrepl-class-based"
    Compile/console/scalacOptions += "-Yrepl-outdir"
    Compile/console/scalacOptions += "repl_classes"
    
    Copy

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.

  1. 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()
      }
    }
    
    Copy

    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 por PRIVATE_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 e PRIVATE_KEY_FILE_PWD, você pode definir a propriedade PRIVATEKEY 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.

  2. Mude para seu diretório de projetos e execute o seguinte comando para executar o código de exemplo:

    sbt "runMain Main"
    
    Copy