Escrita de código para oferecer suporte a diferentes versões do Scala¶
Você pode escrever código para oferecer suporte a diferentes versões do Scala. Para alguns recursos do Snowflake, você precisará levar em consideração a versão do Scala que está usando. Por exemplo, ao declarar um procedimento armazenado com SQL, será preciso fazer referência ao pacote Snowpark com um nome que termine com a versão do Scala que você está usando.
Para ver diferenças no código Scala entre as versões, consulte a documentação do Scala.
Referência a pacotes Snowpark¶
Ao fazer referência ao pacote Snowpark em seu código, como ao declarar um procedimento armazenado com SQL, o nome do pacote dependerá do seguinte:
A versão do pacote Snowpark que você está usando.
A versão do Scala que você está usando.
A seguir, descrevemos como fazer referência ao pacote Snowpark para diferentes versões do Scala.
Nomes para versões do pacote Snowpark 1.16 e anteriores¶
Ao fazer referência à versão 1.16 e anteriores do pacote Snowpark, você referencia o pacote com o nome com.snowflake:snowpark; em outras palavras, sem o sufixo da versão do Scala.
Scala 2.12:
com.snowflake:snowpark:1.16Scala 2.13:
com.snowflake:snowpark:1.16
Nomes para versões do pacote Snowpark 1.17 e posteriores¶
Ao fazer referência à versão 1.17 e posteriores do pacote Snowpark, você referencia o pacote com o nome com.snowflake:snowpark_<scala_version>.
Scala 2.12:
com.snowflake:snowpark_2.12:latestScala 2.13:
com.snowflake:snowpark_2.13:latest
Exemplos¶
Os exemplos a seguir mostram como fazer referência às versões 1.17 e posteriores do pacote Snowpark.
CREATE OR REPLACE PROCEDURE MYPROC(value INT, fromTable STRING, toTable STRING, count INT)
RETURNS INT
LANGUAGE SCALA
RUNTIME_VERSION = '2.12'
PACKAGES = ('com.snowflake:snowpark_2.12:latest')
IMPORTS = ('@mystage/MyCompiledJavaCode.jar')
HANDLER = 'MyJavaClass.run';
CREATE OR REPLACE PROCEDURE MYPROC(value INT, fromTable STRING, toTable STRING, count INT)
RETURNS INT
LANGUAGE SCALA
RUNTIME_VERSION = '2.13'
PACKAGES = ('com.snowflake:snowpark_2.13:latest')
IMPORTS = ('@mystage/MyCompiledJavaCode.jar')
HANDLER = 'MyJavaClass.run';