Como configurar o REPL do Scala para o Snowpark Scala¶
Este tópico explica como configurar o REPL do Scala para o Snowpark.
Neste tópico:
Instalando o REPL do Scala¶
O REPL do Scala (loop de leitura-avaliação-impressão) é fornecido com a ferramenta de compilação do Scala. Para instalar a versão suportada da ferramenta de compilação do Scala, encontre a versão que você planeja usar e siga as instruções de instalação.
Executando o REPL do Scala¶
Para usar a biblioteca do Snowpark no REPL do Scala:
Se você ainda não o fez, baixe o arquivo da biblioteca do Snowpark e extraia o conteúdo do arquivo.
Inicie o REPL executando o
run.sh
script do shell fornecido no arquivo:
cd <path>/snowpark-1.10.0 ./run.sh
O script run.sh
faz o seguinte:
Adiciona a biblioteca do Snowpark e dependências ao classpath.
Cria um diretório <path>/snowpark-1.10.0/repl_classes/ para as classes geradas pelo REPL do Scala.
Pré-carrega o arquivo
preload.scala
, que importa o pacotecom.snowflake.snowpark
e o objetocom.snowflake.snowpark.functions
.
Se você estiver usando um REPL diferente para o Scala:
Adicione o arquivo JAR da biblioteca do Snowpark e as dependências ao classpath.
O arquivo JAR da biblioteca do Snowpark está no diretório de nível superior do arquivo TAR/ZIP extraído.
As dependências estão no diretório
lib
do arquivo TAR/ZIP extraído.
Crie um diretório temporário para as classes geradas pelo REPL e configure o REPL para gerar classes nesse diretório.
Mais tarde, ao definir funções definidas pelo usuário (UDFs) inline, será necessário especificar o diretório para as classes do REPL como uma dependência.
Como verificar a configuração do seu REPL do Scala¶
Para verificar se você configurou seu projeto para utilizar o Snowpark, execute um exemplo simples do código do Snowpark.
No diretório que contém os arquivos extraídos do
.zip
/.tar.gz
(ou seja, o diretório que contém o scriptrun.sh
), crie um arquivoMain.scala
contendo 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.
De dentro do diretório, execute o script
run.sh
para iniciar o REPL do Scala com as configurações necessárias para a biblioteca do Snowpark:./run.sh
No sheel do REPL do Scala, digite o seguinte comando para carregar o arquivo de exemplo que você acabou de criar:
:load Main.scala
Execute a seguinte instrução para executar o método
main
da classe que você carregou:Main.main(Array[String]())
Isso executa o comando
SHOW TABLES
e imprime as primeiras 10 linhas dos resultados.