Schreiben von Code zur Unterstützung verschiedener Scala-Versionen

Sie können Code schreiben, um verschiedene Versionen von Scala zu unterstützen. Bei einigen Snowflake-Features müssen Sie die von Ihnen verwendete Scala-Version berücksichtigen. Wenn Sie zum Beispiel eine gespeicherte Prozedur mit SQL deklarieren, müssen Sie auf das Snowpark-Paket mit einem Namen verweisen, der mit der von Ihnen verwendeten Scala-Version endet.

Informationen zu den Unterschieden im Scala-Code zwischen den Versionen finden Sie in der Scala-Dokumentation.

Verweisen auf Snowpark-Pakete

Wenn Sie in Ihrem Code auf das Snowpark-Paket verweisen, z. B. wenn Sie eine gespeicherte Prozedur mit SQL deklarieren, hängt der Paketname von Folgendem ab:

  • Die Version des Snowpark-Pakets, das Sie verwenden.

  • Version von Scala, die Sie verwenden.

Im Folgenden wird beschrieben, wie Sie für verschiedene Scala-Versionen auf das Snowpark-Paket verweisen.

Namen für Snowpark-Paketversionen 1.16 und früher

Wenn Sie auf das Snowpark-Paket vor Version 1.16 verweisen, referenzieren Sie das Paket mit dem Namen com.snowflake:snowpark – mit anderen Worten, ohne das Suffix der Scala-Version.

  • Scala 2.12: com.snowflake:snowpark:1.16

  • Scala 2.13: com.snowflake:snowpark:1.16

Namen für Snowpark-Paketversionen 1.17 und höher

Wenn Sie auf das Snowpark -Paket 1.17 und höher verweisen, referenzieren Sie das Paket mit dem Namen com.snowflake:snowpark_<scala_version>.

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

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

Beispiele

Die folgenden Beispiele zeigen, wie Sie auf die Snowpark-Paketversionen 1.17 und höher verweisen.

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