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.16

  • Scala 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:latest

  • Scala 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';
Copy