Écriture de code pour prendre en charge différentes versions de Scala

Vous pouvez écrire du code pour prendre en charge différentes versions de Scala. Pour certaines fonctionnalités de Snowflake, vous devrez tenir compte de la version de Scala que vous utilisez. Par exemple, lorsque vous déclarez une procédure stockée avec SQL, vous devrez référencer le paquet Snowpark avec un nom qui se termine par la version de Scala que vous utilisez.

Pour les différences de code Scala entre les versions, veuillez consulter la documentation Scala.

Référencement de paquets Snowpark

Lorsque vous faites référence au paquet Snowpark dans votre code, par exemple lorsque vous déclarez une procédure stockée avec SQL, le nom du paquet dépendra des éléments suivants :

  • La version du paquet Snowpark que vous utilisez.

  • La version de Scala que vous utilisez.

La section suivante décrit comment référencer le paquet Snowpark pour différentes versions de Scala.

Noms des versions 1.16 et antérieures du paquet Snowpark

Lorsque vous faites référence à la version 1.16 du paquet Snowpark et à des versions antérieures, vous faites référence au paquet portant le nom com.snowflake:snowpark – en d’autres termes, sans le suffixe de version Scala.

  • Scala 2.12: com.snowflake:snowpark:1.16

  • Scala 2.13: com.snowflake:snowpark:1.16

Noms des versions 1.17 et ultérieures du paquet Snowpark

Lors du référencement du paquet Snowpark 1.17 et versions ultérieures, vous faites référence au paquet portant le nom com.snowflake:snowpark_<scala_version>.

  • Scala 2.12: com.snowflake:snowpark_2.12:latest

  • Scala 2.13: com.snowflake:snowpark_2.13:latest

Exemples

Les exemples suivants montrent comment référencer les versions 1.17 et ultérieures du paquet 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