다양한 Scala 버전을 지원하는 코드 작성하기¶
다양한 버전의 Scala를 지원하는 코드를 작성할 수 있습니다. 일부 Snowflake 기능의 경우 사용 중인 Scala 버전을 고려해야 합니다. 예를 들어, SQL로 저장 프로시저를 선언하는 경우 사용 중인 Scala 버전으로 끝나는 이름으로 Snowpark 패키지를 참조해야 합니다.
버전 간의 Scala 코드 차이점은 Scala 설명서를 참조하세요.
Snowpark 패키지 참조하기¶
SQL로 저장 프로시저를 선언하는 경우와 같이 코드에서 Snowpark 패키지를 참조하는 경우 패키지 이름은 다음에 따라 달라집니다.
사용 중인 Snowpark 패키지의 버전.
사용 중인 Scala의 버전.
다음은 다양한 Scala 버전에 대해 Snowpark 패키지를 참조하는 방법을 설명합니다.
Snowpark 패키지 버전 1.16 이하의 이름¶
Snowpark 패키지 버전 1.16 이하를 참조할 때 이름이 :code:`com.snowflake:snowpark`(Scala 버전 접미사가 없음)인 패키지를 참조합니다.
Scala 2.12:
com.snowflake:snowpark:1.16Scala 2.13:
com.snowflake:snowpark:1.16
Snowpark 패키지 버전 1.17 이상의 이름¶
Snowpark 패키지 1.17 이상을 참조할 때 이름이 :code:`com.snowflake:snowpark_<scala_version>`인 패키지를 참조합니다.
Scala 2.12:
com.snowflake:snowpark_2.12:latestScala 2.13:
com.snowflake:snowpark_2.13:latest
예¶
다음 예에서는 Snowpark 패키지 버전 1.17 이상을 참조하는 방법을 보여줍니다.
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';